Tenstorrent TT-Metal v0.58.0-rc27版本技术解析
Tenstorrent TT-Metal是一个面向AI加速的高性能计算框架,专注于为深度学习工作负载提供高效的硬件加速支持。该项目通过创新的架构设计,为大规模神经网络模型如LLaMA、Stable Diffusion等提供了优异的性能表现。
本次发布的v0.58.0-rc27版本带来了多项重要更新和优化,主要聚焦在性能提升、功能增强和稳定性改进三个方面。下面我们将详细解析这个版本的技术亮点。
核心架构优化
设备性能参数调整
开发团队对设备性能参数进行了精细调整,包括更新了设备性能余量(device perf margins),这些调整有助于更准确地评估和预测硬件在实际工作负载下的表现。性能参数的优化直接影响到任务调度和资源分配的效率。
异步模式API清理
此版本移除了遗留的异步模式API(Async Mode APIs),这是框架演进过程中的一个重要里程碑。通过清理过时的接口,代码库变得更加简洁,同时也减少了潜在的错误来源和维护负担。
功能增强与扩展
张量运算支持扩展
-
新增广播操作支持:引入了实验性的
ttnn.experimental.broadcast_to操作,扩展了张量广播能力,为更复杂的张量运算提供了基础支持。 -
数据类型支持扩展:
- 为
ttnn.add操作增加了uint16数据类型支持 - 为关系运算添加了整型支持
- 实现了LLK层面对eq操作的整型支持
- 为
-
矩阵运算增强:增加了对0D、1D和0V维度的matmul运算支持,扩展了框架处理不同维度数据的能力。
分布式计算优化
-
AllGather操作改进:为
all_gather_concat操作添加了对RM输入的支持,并为其输出实现了隐式tilize处理,提升了分布式计算的效率。 -
Reduce Scatter代码重构:修复并去重了reduce scatter代码中围绕集群轴计算接收器/发送器ID的逻辑,提高了代码的健壮性和可维护性。
模型支持与优化
Stable Diffusion XL相关改进
-
VAE模块增强:增加了VAE midblock和upblocks的支持,为Stable Diffusion XL模型提供了更完整的VAE解码器实现。
-
卷积层优化:修复了SDXL中split卷积的bias处理问题,并更新了相关的conv2d测试用例。
-
GroupNorm测试更新:针对SDXL模型的ttnn.group_norm操作更新了测试用例,确保其正确性和稳定性。
LLaMA模型性能优化
-
SDPA解码优化:通过使用16x32瓦片(tiles)和移除copy_blocks操作,显著提升了LLaMA模型的SDPA解码性能。
-
RMS Norm融合:尝试了将pre和post RMS Norm操作进行融合的优化方案,虽然当前版本中这一更改被回退,但为未来的优化方向提供了参考。
系统稳定性与工具链改进
监控与诊断工具
-
新增NOC写入监控:实现了watcher机制来捕获对DRAM的noc_inline_dw_write操作,有助于发现潜在的性能问题和内存访问异常。
-
系统健康检查:新增了test_system_health二进制工具,专门用于在6U/T3K硬件上运行系统健康检查。
-
性能分析增强:为DumpDeviceProfileResults添加了FORCE_PUSH_TO_TRACY选项,提供了更灵活的profiling数据导出方式。
测试与验证
-
ResNet50稳定性测试:新增了针对ResNet50模型的稳定性测试脚本,确保模型在长时间运行下的可靠性。
-
TopK优化:修复了TopK操作在L1缓存限制下的问题,针对单核实现进行了特别优化,多核场景则保持原有实现。
-
性能测试调整:根据实际运行情况,调整了Falcon7b模型的性能容忍阈值,以应对CI环境中的性能波动。
构建与部署改进
-
开发包支持:开始支持-dev开发包,为开发者提供了更便捷的开发环境搭建方式。
-
版本信息完善:包含了足够的Git信息,使得Git Describe能够正常工作,便于版本追踪和管理。
-
Docker镜像更新:为软件打包准备了必要的Docker镜像更新,简化了部署流程。
总结
Tenstorrent TT-Metal v0.58.0-rc27版本在性能、功能和稳定性方面都取得了显著进展。从底层硬件性能参数的精细调整,到高层模型支持的扩展,再到开发工具链的完善,这个版本为AI加速领域提供了更加强大和可靠的解决方案。特别是对Stable Diffusion XL和LLaMA等主流模型的支持优化,使得框架在实际应用场景中的表现更加出色。随着异步模式API的清理和多项基础运算的增强,TT-Metal的架构也变得更加清晰和健壮。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedJavaScript094- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00