首页
/ Tenstorrent/tt-metal v0.59.0-rc21版本技术解析与功能演进

Tenstorrent/tt-metal v0.59.0-rc21版本技术解析与功能演进

2025-07-09 06:52:28作者:卓炯娓

Tenstorrent/tt-metal是一个专注于高性能AI计算的开源项目,它为AI工作负载提供了高效的硬件加速支持。该项目通过优化的计算核心和创新的架构设计,显著提升了深度学习模型的推理和训练性能。

核心功能改进

本次发布的v0.59.0-rc21版本带来了多项重要改进,主要集中在性能优化、功能增强和稳定性提升三个方面。

计算核心优化

项目团队对Topk和Argmax操作进行了深度优化。Topk操作现在支持sub_core_grid配置,并能够充分利用列中的可用核心资源。Argmax操作则根据NOC宽度调整了每核心处理单元数,显著提升了大规模数据处理效率。

在数学运算方面,新增了对uint16数据类型的支持,包括乘法(mul)和位运算(bitwise or/xor)。同时修复了除法(div)运算的测试范围问题,增强了数值计算的稳定性。

张量处理增强

张量处理系统进行了多项改进:

  • 移除了主机端缓冲区分配/释放的概念,简化了内存管理
  • 优化了DistributeHostBuffer接口,更好地支持TTNN集成
  • 修复了slice write在小通道情况下的问题
  • 实现了批处理转置(batched transpose)在ttnn.concat中的应用

网络通信优化

网络通信子系统获得了显著增强:

  • 新增了Socket API及其测试套件
  • 实现了one-to-all和one-to-all多播通信模式
  • 添加了连接打开/关闭压力测试
  • 改进了NOC状态检查脚本

模型支持与演示

项目加强了对多种AI模型的支持:

  1. YOLO系列:修复了Yolov8x演示,并开始引入Yolov10x模型支持
  2. LLaMA系列:解决了TG解码中序列长度超过4k时的挂起问题,支持LLaMA 3.3版本
  3. Mistral模型:新增了MistralForCausalLM类以支持vLLM
  4. SDXL演示:进行了功能更新和性能优化

架构与基础设施

项目架构进行了多项重要调整:

  • 开始为TT-NN创建核心组件
  • 新增了网格描述符(mesh descriptor),支持将4x2网格拆分为两个2x2网格
  • 重构了程序内部类型,移除了program_impl.hpp中的冗余定义
  • 将worker_config_buffer.hpp移出api/tt-metalium目录

测试基础设施也得到增强:

  • 新增了多设备Eltwise和TM压力测试
  • 为tt-mlir的C++代码生成添加了测试基础设施
  • 修复了fold transpose测试在BH架构上的兼容性问题

性能监控与调试

项目引入了更完善的性能监控机制:

  • 添加了在不同条件下测量性能的方法
  • 更新了基准测试目标范围
  • 启用了text_demo.py中的预取器性能模式
  • 修复了调试构建中的断言问题

开发者体验

为提升开发者体验,项目进行了多项改进:

  • 清理了Tensor各种属性的getter方法
  • 将ttnn/tensor移动到新的核心和api目录
  • 修复了PCH构建问题
  • 更新了文档系统,包括安装指南和模型更新说明

这个版本标志着Tenstorrent/tt-metal在性能、稳定性和功能完备性方面又向前迈进了一大步,为AI计算提供了更加强大和可靠的基础设施支持。

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