首页
/ Tenstorrent TT-Metal v0.59.0-rc18 版本技术解析

Tenstorrent TT-Metal v0.59.0-rc18 版本技术解析

2025-07-10 22:51:41作者:盛欣凯Ernestine

Tenstorrent TT-Metal 是一个面向AI加速的高性能计算框架,专注于为深度学习工作负载提供高效的硬件加速支持。该项目通过创新的架构设计和软件优化,显著提升了神经网络模型的推理和训练性能。

本次发布的v0.59.0-rc18版本带来了多项重要更新和优化,涵盖了核心功能增强、性能改进和错误修复等方面。作为候选发布版本,它展示了Tenstorrent团队在AI加速领域的最新进展。

核心功能增强

设备管理与初始化优化

本次更新对设备管理流程进行了重要重构,将固件构建和L1/DRAM清除操作从设备初始化阶段移至MetalContext初始化阶段。这种调整优化了设备启动流程,减少了重复操作,提高了系统初始化效率。

同时,设备关闭流程也得到统一,CloseDevice现在使用与CloseDevices相同的步骤,确保了操作一致性。这些改进使得设备生命周期管理更加可靠和高效。

网络通信能力提升

在分布式计算方面,新版本引入了"one to all"和"one to all multicast"通信模式,增强了设备间的数据分发能力。这对于大规模模型并行训练特别有价值,可以显著减少通信开销。

此外,还增加了对ND分片(多维分片)的支持,使得张量数据可以在多个维度上进行灵活分布,为复杂模型的高效并行处理提供了基础。

性能优化

计算内核改进

针对常见算子进行了多项优化:

  • Topk算子现在支持子核心网格(sub_core_grid)并充分利用列中的可用核心
  • Argmax算子根据NOC宽度调整每核心处理单元数
  • 转置操作采用批处理方式实现,提升了数据重组效率
  • 针对Blackhole架构优化了以太网微基准测试,解决了挂起问题

内存管理增强

内存子系统进行了多项改进:

  • 移除了主机端缓冲区分配/释放的概念,简化了内存管理模型
  • 全局循环缓冲区实现被合并,减少了代码复杂度
  • 分片行主序嵌入现在得到支持,优化了特定场景下的内存访问模式

错误修复与稳定性

本次发布修复了多个关键问题:

  • 解决了Untilize操作在每核心输出通道大于256时的问题
  • 修正了West路由器边缘端口在网格间路由中的配置
  • 修复了Yolov8x演示中的问题
  • 解决了折叠操作初始化类型不匹配的问题
  • 修正了程序运行时ID在以太网微基准测试中的问题

新模型支持

框架扩展了对多个新模型的支持:

  • 集成了VAE解码器到SDv1-4演示中
  • 增加了对MistralForCausalLM类的支持
  • 改进了Llama模型的导入和处理能力
  • 为3层架构训练添加了自定义分词器支持

测试与验证

测试基础设施得到显著增强:

  • 新增了多设备Eltwise和TM压力测试
  • 增加了连接打开/关闭压力测试
  • 改进了NOC状态检查脚本
  • 为TT-MLIR的C++代码生成添加了测试基础设施

开发者体验

开发者工具和文档也有多项改进:

  • 改进了张量属性访问接口
  • 清理了主机缓冲区操作接口
  • 增强了强类型(StrongType)和Span工具
  • 更新了安装和使用文档

这个版本展示了Tenstorrent在AI加速领域的持续创新,通过底层优化和新功能添加,进一步提升了框架的性能和易用性。特别是对分布式计算和内存管理的改进,为处理更大规模的模型奠定了基础。

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