首页
/ Tenstorrent TT-Metal v0.58.0-rc27版本技术解析

Tenstorrent TT-Metal v0.58.0-rc27版本技术解析

2025-07-10 12:21:34作者:郦嵘贵Just

Tenstorrent TT-Metal是一个面向AI加速的高性能计算框架,专注于为深度学习工作负载提供高效的硬件加速支持。该项目通过创新的架构设计,为大规模神经网络模型如LLaMA、Stable Diffusion等提供了优异的性能表现。

本次发布的v0.58.0-rc27版本带来了多项重要更新和优化,主要聚焦在性能提升、功能增强和稳定性改进三个方面。下面我们将详细解析这个版本的技术亮点。

核心架构优化

设备性能参数调整

开发团队对设备性能参数进行了精细调整,包括更新了设备性能余量(device perf margins),这些调整有助于更准确地评估和预测硬件在实际工作负载下的表现。性能参数的优化直接影响到任务调度和资源分配的效率。

异步模式API清理

此版本移除了遗留的异步模式API(Async Mode APIs),这是框架演进过程中的一个重要里程碑。通过清理过时的接口,代码库变得更加简洁,同时也减少了潜在的错误来源和维护负担。

功能增强与扩展

张量运算支持扩展

  1. 新增广播操作支持:引入了实验性的ttnn.experimental.broadcast_to操作,扩展了张量广播能力,为更复杂的张量运算提供了基础支持。

  2. 数据类型支持扩展

    • ttnn.add操作增加了uint16数据类型支持
    • 为关系运算添加了整型支持
    • 实现了LLK层面对eq操作的整型支持
  3. 矩阵运算增强:增加了对0D、1D和0V维度的matmul运算支持,扩展了框架处理不同维度数据的能力。

分布式计算优化

  1. AllGather操作改进:为all_gather_concat操作添加了对RM输入的支持,并为其输出实现了隐式tilize处理,提升了分布式计算的效率。

  2. Reduce Scatter代码重构:修复并去重了reduce scatter代码中围绕集群轴计算接收器/发送器ID的逻辑,提高了代码的健壮性和可维护性。

模型支持与优化

Stable Diffusion XL相关改进

  1. VAE模块增强:增加了VAE midblock和upblocks的支持,为Stable Diffusion XL模型提供了更完整的VAE解码器实现。

  2. 卷积层优化:修复了SDXL中split卷积的bias处理问题,并更新了相关的conv2d测试用例。

  3. GroupNorm测试更新:针对SDXL模型的ttnn.group_norm操作更新了测试用例,确保其正确性和稳定性。

LLaMA模型性能优化

  1. SDPA解码优化:通过使用16x32瓦片(tiles)和移除copy_blocks操作,显著提升了LLaMA模型的SDPA解码性能。

  2. RMS Norm融合:尝试了将pre和post RMS Norm操作进行融合的优化方案,虽然当前版本中这一更改被回退,但为未来的优化方向提供了参考。

系统稳定性与工具链改进

监控与诊断工具

  1. 新增NOC写入监控:实现了watcher机制来捕获对DRAM的noc_inline_dw_write操作,有助于发现潜在的性能问题和内存访问异常。

  2. 系统健康检查:新增了test_system_health二进制工具,专门用于在6U/T3K硬件上运行系统健康检查。

  3. 性能分析增强:为DumpDeviceProfileResults添加了FORCE_PUSH_TO_TRACY选项,提供了更灵活的profiling数据导出方式。

测试与验证

  1. ResNet50稳定性测试:新增了针对ResNet50模型的稳定性测试脚本,确保模型在长时间运行下的可靠性。

  2. TopK优化:修复了TopK操作在L1缓存限制下的问题,针对单核实现进行了特别优化,多核场景则保持原有实现。

  3. 性能测试调整:根据实际运行情况,调整了Falcon7b模型的性能容忍阈值,以应对CI环境中的性能波动。

构建与部署改进

  1. 开发包支持:开始支持-dev开发包,为开发者提供了更便捷的开发环境搭建方式。

  2. 版本信息完善:包含了足够的Git信息,使得Git Describe能够正常工作,便于版本追踪和管理。

  3. Docker镜像更新:为软件打包准备了必要的Docker镜像更新,简化了部署流程。

总结

Tenstorrent TT-Metal v0.58.0-rc27版本在性能、功能和稳定性方面都取得了显著进展。从底层硬件性能参数的精细调整,到高层模型支持的扩展,再到开发工具链的完善,这个版本为AI加速领域提供了更加强大和可靠的解决方案。特别是对Stable Diffusion XL和LLaMA等主流模型的支持优化,使得框架在实际应用场景中的表现更加出色。随着异步模式API的清理和多项基础运算的增强,TT-Metal的架构也变得更加清晰和健壮。

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

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
595
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K