首页
/ TT-Metal v0.59.0-rc19 版本深度解析:性能优化与功能增强

TT-Metal v0.59.0-rc19 版本深度解析:性能优化与功能增强

2025-07-09 00:09:04作者:牧宁李

TT-Metal 是由 Tenstorrent 开发的一款高性能计算框架,专注于为 AI 和机器学习工作负载提供高效的硬件加速支持。该项目通过深度优化计算核心和内存访问模式,显著提升了神经网络模型的推理和训练性能。最新发布的 v0.59.0-rc19 版本带来了一系列重要的改进和新特性。

核心架构优化

本次更新在底层架构方面进行了多项重要改进。首先是对设备初始化的重构,将固件构建和内存清除操作从设备初始化阶段移至 MetalContext 初始化阶段,这一改变优化了设备启动流程,减少了不必要的重复操作。同时,框架移除了对 GraySkull 架构的依赖,专注于支持更现代的硬件平台。

在内存管理方面,v0.59.0-rc19 版本引入了 ND 分片支持,为多维数据分片提供了更好的支持。此外,框架还改进了主机端缓冲区操作,通过 transform 接口隐藏了底层实现细节,使内存操作更加安全和高效。

计算性能提升

本次更新在计算性能方面做了多项优化。针对 Topk 操作,扩展了对子核心网格的支持,并充分利用列中的可用核心,显著提高了并行处理能力。Argmax 操作也进行了调整,现在会根据 NOC 宽度动态调整每个核心的处理单元数量,实现更好的负载均衡。

在数学运算方面,新增了对 uint16 数据类型的支持,包括乘法、按位或和异或操作,扩展了框架的数据处理能力。同时,修复了 Untilize 操作在处理每核心输出通道数大于 256 时的错误,确保了大规模数据处理的正确性。

网络通信增强

网络通信层是本版本的重点改进领域之一。框架增加了对 2D Fabric 的支持,可以随机选择源设备和目标设备,提高了通信的灵活性。同时引入了 FabricContext,改进了设备初始化流程,并增加了对 TG 网关上启动 Fabric 的支持。

在路由算法方面,优化了 intermesh 路由到下一个 mesh 的性能,并修复了 West 路由器边缘端口的问题,提高了大规模分布式计算的通信效率。新增的 Socket API 和测试为底层网络通信提供了更强大的支持。

模型支持与演示

v0.59.0-rc19 版本加强了对多种神经网络模型的支持。Mobilenetv2 和 Yolov10x 模型的演示已经完成初步搭建,为开发者提供了参考实现。SDXL 和 VAE Decoder 的集成工作也取得了进展,稳定扩散模型的性能得到提升。

在大型语言模型方面,框架增加了对 Llama 3 模型权重的导入支持,并优化了 MistralForCausalLM 类的实现,为 vLLM 提供了更好的兼容性。同时,修复了 Llama TG 解码在处理超过 4k 序列长度时的挂起问题。

开发者工具与测试

本次更新完善了开发者工具链。新增了测试基础设施,支持 tt-mlir 的 C++ 代码生成 emitc,为编译器开发提供了更好的支持。同时,框架改进了性能测量工具,可以在不同条件下评估系统性能。

在测试覆盖方面,增加了多设备 Eltwise 和 TM 压力测试,以及连接打开/关闭的压力测试,确保系统在高负载下的稳定性。针对 Blackhole 架构的特殊情况,调整了部分测试用例,确保兼容性。

总结

TT-Metal v0.59.0-rc19 版本在性能、功能和稳定性方面都取得了显著进步。从底层架构优化到高层模型支持,从计算核心改进到网络通信增强,这一版本为开发者提供了更强大、更灵活的平台。特别是对大型语言模型和计算机视觉模型的支持改进,使得 TT-Metal 在 AI 加速领域保持了竞争优势。随着框架的持续演进,我们可以期待它在更多应用场景中发挥重要作用。

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

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
470
3.48 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
10
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
19
flutter_flutterflutter_flutter
暂无简介
Dart
718
172
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
209
84
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.27 K
695
rainbondrainbond
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
15
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
1