首页
/ TT-Metal v0.59.0-rc10 版本技术解析与架构演进

TT-Metal v0.59.0-rc10 版本技术解析与架构演进

2025-07-10 22:51:30作者:魏侃纯Zoe

TT-Metal 是 Tenstorrent 公司开发的一款面向 AI 加速的底层硬件抽象层和运行时系统,它为深度学习工作负载提供了高效的执行环境。本次发布的 v0.59.0-rc10 版本带来了多项重要改进,涵盖了核心架构优化、新功能引入以及性能提升等方面。

核心架构优化

本次版本在设备管理和内存架构方面进行了重要改进。开发团队将固件构建和内存清除操作从设备初始化阶段移到了 MetalContext 初始化阶段,这一变更优化了设备启动流程,减少了重复操作。同时,移除了主机端缓冲区分配/释放的概念,转而采用更高效的 transform 接口来操作主机缓冲区,这一设计变更简化了内存管理模型。

在设备间通信方面,新版本引入了对 ND 分片(N维分片)的支持,使 mesh 设备和缓冲区能够处理更复杂的数据分布模式。此外,还添加了新的 mesh 描述符,支持将一个 4x2 的 mesh 分割为两个 2x2 的 mesh,为灵活的资源分配提供了基础。

性能优化与功能增强

计算核心方面,新版本对多个关键算子进行了优化。TopK 算子现在支持子核心网格(sub_core_grid)并充分利用列中的可用核心;Argmax 算子根据 NOC 宽度调整了每核心处理单元数;卷积转置(conv_transpose2d)增加了权重准备支持;而 Untilize 操作修复了当每核心输出通道数大于256时的问题。

在数据移动方面,实现了"一对多"(one to all)和"一对多组播"(one to all multicast)通信原语,优化了大规模数据分发场景。同时改进了 West 路由器边缘端口的 intermesh 路由支持,提升了跨设备通信效率。

新模型与演示支持

本次发布扩展了对多种流行模型的支持:

  1. Mobilenetv2:完成了演示环境的搭建和优化
  2. YOLO系列:包括 Yolov9c 和 Yolov8x 的演示支持与问题修复
  3. Llama 3:增加了模型权重导入支持,并针对不同规模(如8B)进行了优化
  4. Stable Diffusion:集成了 VAE 解码器到 SDv1-4 演示中
  5. Mistral:新增了针对因果语言建模的 MistralForCausalLM 类

特别值得注意的是,开发团队还实现了一个三层架构的训练演示(3-tier training demo),展示了系统处理复杂训练工作流的能力。

系统可靠性与调试增强

在系统稳定性方面,新版本包含多项改进:

  • 增加了连接打开/关闭的压力测试
  • 修复了 Blackhole 设备上的以太网微基准测试挂起问题
  • 扩展了跟踪缓冲区大小,便于调试复杂问题
  • 改进了 NOC 状态检查脚本
  • 收集并整合了多项观察器(watcher)更新

开发者体验改进

为提升开发者体验,本次发布进行了多项内部重构:

  • 清理了 Tensor 各种属性的获取接口
  • 将 worker_config_buffer.hpp 移出 api/tt-metalium
  • 合并了 global_circular_buffer 的实现文件
  • 将程序内部类型移动到 program_impl.hpp
  • 移除了大部分 GraySkull 架构的遗留代码
  • 将术语从 SLAVE 更新为更现代的 SUBORDINATE

构建与部署优化

构建系统方面,将 TTNN 目标安装移到了专用的 CMakeLists.txt 中,改善了模块化程度。同时更新了 SFPI 到 v6.11.1 版本,支持了 XZ 压缩。在持续集成环境中,优化了 Docker 代理的使用,并调整了测试资源配置。

总结

TT-Metal v0.59.0-rc10 版本标志着该项目在架构灵活性、算子覆盖范围和系统稳定性方面的显著进步。通过引入新的通信原语、优化核心算子性能以及扩展模型支持,该版本为处理更复杂的 AI 工作负载奠定了坚实基础。特别是对动态路由和 intermesh 通信的改进,展现了系统向大规模分布式计算方向的发展趋势。这些变化不仅提升了当前系统的能力,也为未来的功能扩展预留了充足的空间。

登录后查看全文
热门项目推荐