首页
/ TT-Metal v0.59.0-rc30 版本技术解析与架构演进

TT-Metal v0.59.0-rc30 版本技术解析与架构演进

2025-07-09 14:34:26作者:郜逊炳

TT-Metal 是 Tenstorrent 公司开发的一款面向高性能计算的金属级框架,专注于为 AI 和机器学习工作负载提供底层硬件加速支持。本次发布的 v0.59.0-rc30 版本带来了多项重要的架构改进和功能增强,特别是在分布式计算、内存管理和模型支持方面有显著提升。

核心架构改进

分布式计算能力增强

本次版本引入了全新的 FabricContext 架构,彻底重构了设备初始化流程。这一改进使得系统能够更好地支持在 TG 网关上启动分布式计算任务。FabricContext 作为分布式计算的核心上下文管理器,提供了更细粒度的资源控制和任务调度能力。

技术团队还实现了对 intermesh 路由的内核启动支持,这意味着计算任务可以在不同的网格节点间更高效地路由和执行。这一特性为大规模分布式训练和推理场景提供了更好的基础支持。

内存管理优化

在内存管理方面,v0.59.0-rc30 版本做出了两项重要改进:

  1. 移除了主机端缓冲区分配/释放的概念,改为更高效的分布式主机缓冲区管理机制(DistributeHostBuffer)。这一变化显著减少了内存管理开销,特别是在大规模张量操作场景下。

  2. 合并了全局循环缓冲区的实现文件,简化了代码结构,提高了缓冲区访问效率。新的实现减少了不必要的内存拷贝,特别适合需要频繁数据交换的模型训练场景。

模型支持与性能优化

大语言模型支持增强

针对当前流行的大语言模型,本次更新特别优化了 Llama 和 Mistral 系列模型的支持:

  1. 解决了 Llama TG 解码器在超过 4k 序列长度时的挂起问题,显著提升了长文本生成场景的稳定性。

  2. 增加了对 MistralForCausalLM 类的支持,为 vLLM 框架提供了更好的兼容性。

  3. 优化了批量大小为 1 时的推理性能,使得单请求场景的延迟显著降低。

卷积神经网络优化

在 Conv2d 实现中,技术团队处理了一个边缘情况:当 split_reader 启用且 act_block_h=1 时的特殊场景。这一修复确保了在各种输入尺寸下卷积操作的稳定性和性能一致性。

开发者体验改进

代码质量提升

  1. 完成了从 SLAVE 到 SUBORDINATE 的命名重构,使代码术语更加规范和现代化。

  2. 修复了多个测试用例,包括针对 harvested BH 架构的 fold_transpose 测试修正,以及减少 one-to-all 数据移动测试中使用的核心数以规避内核参数限制。

  3. 移除了 GraySkull 架构的大部分使用,简化了代码维护路径。

测试基础设施增强

  1. 为 tt-mlir 的 C++ 代码生成器(emitc)添加了测试基础设施,确保代码生成的质量和稳定性。

  2. 重新启用了单卡和 T3K 的异步测试,并优化了权重下载流程,减少了 wget 的输出干扰。

性能与稳定性修复

  1. 修复了程序运行时 ID 在以太网微基准测试中的问题,确保了性能测量的准确性。

  2. 解决了调试构建中 dprint/watcher 断言可能被错误触发的问题,提高了开发环境的稳定性。

  3. 优化了三层架构训练中自定义分词器启用时的处理逻辑,解决了相关错误和警告。

总结

TT-Metal v0.59.0-rc30 版本在分布式计算架构、内存管理和模型支持等方面做出了重要改进。这些变化不仅提升了框架的性能和稳定性,也为开发者提供了更好的使用体验。特别是对大规模语言模型的支持增强,使得 TT-Metal 在 AI 推理和训练场景中的竞争力得到进一步提升。技术团队持续关注边缘情况的处理和测试覆盖率的提高,确保了框架在各种应用场景下的可靠性。

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

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
469
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
716
172
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
208
83
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