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

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

2025-07-09 16:55:32作者:咎竹峻Karen

Tenstorrent TT-Metal 是一个面向AI加速的高性能计算框架,专为Tenstorrent的AI处理器设计。该项目提供了从底层硬件抽象到高级神经网络操作的完整工具链,使开发者能够充分利用Tenstorrent芯片的强大计算能力。最新发布的v0.59.0-rc25版本带来了多项重要改进,涵盖了性能优化、功能增强和错误修复等方面。

核心架构改进

本次版本在核心架构层面进行了多项优化。首先,项目引入了新的FabricContext组件,重构了设备初始化流程,并增加了对TG网关上Fabric启动的支持。这一改进使得分布式计算任务能够更高效地在多个计算节点间协调执行。

在内存管理方面,项目移除了主机端缓冲区分配/释放的概念,改为使用DistributeHostBuffer机制,这一变化更好地适应了TTNN框架的集成需求。同时,全局环形缓冲区(global_circular_buffer)的实现也得到了简化,将头文件和实现文件合并,提高了代码的可维护性。

计算性能优化

性能优化是本版本的重点之一。项目为矩阵乘法(ttnn.matmul)实现了批处理转置操作,显著提升了张量拼接(ttnn.concat)操作的效率。在特殊函数处理单元(SFPI)方面,升级到了v6.11.1版本并引入了xz压缩技术,进一步提升了计算密度。

针对大型语言模型推理,项目特别优化了Llama TG的解码性能,解决了序列长度超过4k时的挂起问题,并针对批量大小为1的推理场景进行了专门优化。此外,还增加了对uint16数据类型的位运算(OR/XOR)支持,扩展了处理器的适用范围。

神经网络功能增强

在神经网络操作方面,本版本引入了多项新功能。TTNN框架新增了对Roll操作的支持,这是一种沿指定轴循环滚动张量元素的操作,常用于数据增强和特殊变换场景。同时,改进了转置卷积(conv_transpose2d)的权重准备流程,使其能够处理更复杂的网络结构。

针对归一化操作,项目完善了RMSNorm的实现,并为标准差(std)和方差(var)计算增加了校正支持。这些改进使得模型训练更加稳定可靠。此外,还实现了"One from All"数据移动原语,为分布式训练提供了更灵活的数据交换能力。

系统稳定性提升

在系统稳定性方面,本版本修复了多个关键问题。修复了当split_reader启用且act_block_h=1时卷积操作的边界情况处理,解决了小通道数情况下的切片写入问题。同时,调整了工作线程配置缓冲区的存放位置,使其不再属于公共API部分,提高了模块化程度。

针对异步执行场景,重新启用了单卡和T3K配置的异步测试,并通过重新下载模型权重解决了之前存在的稳定性问题。此外,还修复了调试构建中dprint/watcher断言抛出的问题,提高了开发体验。

应用场景扩展

本版本继续扩展了框架的应用场景支持。在计算机视觉领域,优化了YOLOv8x和YOLOv10x模型的演示实现,使其能够更好地利用硬件加速。同时新增了VGG_Unet演示,为医学图像分割等应用提供了参考实现。

在自然语言处理方面,项目新增了对Llama 3模型权重的导入支持,并提供了MistralForCausalLM类以更好地与vLLM框架集成。这些改进使得框架能够支持更广泛的预训练模型和推理场景。

测试与工具链改进

测试覆盖率和工具链也得到了显著增强。新增了TT-MLIR的C++代码生成emitc测试基础设施,为编译器开发提供了更好的支持。同时完善了数据移动(DM)测试,增加了环回测试用例,验证了系统在不同条件下的可靠性。

在性能分析方面,新增了在不同条件下测量性能的方法,使开发者能够更全面地评估系统行为。检查NoC状态的脚本也得到了改进,提供了更详细的诊断信息。

总结

Tenstorrent TT-Metal v0.59.0-rc25版本在架构、性能、功能和稳定性等方面都取得了显著进展。从底层硬件抽象到高级神经网络操作,该版本为AI加速提供了更强大、更灵活的工具支持。特别是对大型语言模型和计算机视觉应用的重点优化,使得框架在实际应用中的表现更加出色。这些改进为开发者构建高效AI应用提供了坚实基础,也展现了Tenstorrent硬件平台的强大潜力。

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

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
135
214
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
51
15
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
643
431
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
98
152
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
300
1.03 K
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
697
96
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
504
42
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
115
80
carboncarbon
轻量级、语义化、对开发者友好的 golang 时间处理库
Go
8
2
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
109
255