Tenstorrent Metal项目v0.58.0-rc22版本技术解析
Tenstorrent Metal是一个专注于高性能计算和人工智能加速的开源项目,它提供了高效的硬件抽象层和计算框架。该项目特别针对AI工作负载进行了优化,支持多种神经网络操作和模型部署。最新发布的v0.58.0-rc22版本带来了多项重要改进和新功能,本文将深入解析这些技术更新。
核心功能增强
多核支持与性能优化
本次版本在argmax操作上实现了重大突破,新增了对任意维度和形状的多核支持。这意味着在处理大规模张量时,计算任务可以更高效地分配到多个核心上执行,显著提升了计算吞吐量。开发者特别修复了argmax在演示中导致错误输出的问题,确保了计算的准确性。
在性能优化方面,项目团队对TopK操作进行了重点改进,解决了L1缓存的限制问题。目前针对单核实现进行了优化,而对于不需要修改的多核场景则保持原有高效实现。同时,针对Llama模型的SDPA解码过程进行了优化,采用16x32的瓦片布局并移除了copy_blocks操作,进一步提升了计算效率。
张量操作扩展
新版本丰富了张量操作的支持范围,包括:
- 为ttnn.add操作新增了uint16数据类型支持
- 实现了ttnn.experimental.broadcast_to新操作
- 增加了对关系运算符的整数支持
- 为ttnn.upsample的"nearest"模式添加了对非均匀分片的支持
- 扩展了matmul操作,支持0D、1D和0V的特殊情况
这些扩展使得框架能够处理更广泛的数据类型和计算场景,为开发者提供了更大的灵活性。
系统架构改进
设备初始化与通信优化
项目团队对设备初始化流程进行了多项改进:
- 为6U设备添加了2D环面拓扑支持
- 在1D结构设备初始化中添加了缺失的noc选择优化
- 改进了reduce scatter代码,修复了围绕集群轴计算接收器/发送器ID的逻辑
- 将go消息从设备命令序列中分离出来
- 将启动消息从设备命令序列中分离
这些改进使得设备初始化和通信更加高效可靠,特别是在大规模分布式计算场景下。
存储与内存管理
内存管理方面的重要更新包括:
- 更新了DRAM切片大小计算逻辑
- 添加了监视器来捕获对DRAM的noc_inline_dw_write操作
- 移除了未使用的MULTI_DEVICE存储类型枚举
- 解决了AllGatherAsyncMinimal的段错误问题
这些改进提升了内存访问的效率和安全性,减少了潜在的错误风险。
模型支持与AI功能
模型支持扩展
新版本在模型支持方面取得了显著进展:
- 添加了VAE中间块和上采样块支持
- 更新了SDXL模型的卷积和分组归一化测试
- 修复了SDXL模型中分割卷积的偏置问题
- 为Resnet50添加了稳定性测试脚本
这些更新使得框架能够更好地支持复杂的生成式AI模型,如图像生成等应用场景。
神经网络操作优化
在神经网络基础操作方面,项目团队进行了多项优化:
- 更新了unary操作的文档
- 实现了对all_gather_concat操作的RM输入支持
- 为其输出添加了隐式tilize支持
- 更新了convnet_mnist的性能表现
这些优化使得基础神经网络操作更加高效和易用。
开发工具与测试改进
测试基础设施
测试方面的改进包括:
- 为6U设备添加了特定的全网格带宽测试
- 将FD测试迁移到CIv2环境
- 添加了test_system_health二进制文件以在6U/T3K上运行
- 修复了以太网分析器测试在微基准测试工作流中的失败问题
这些改进提升了测试覆盖率和可靠性,确保系统在不同硬件配置下的稳定性。
开发体验优化
为提升开发者体验,项目团队进行了多项改进:
- 添加了Docker镜像用于包验证
- 启用了更多编译器警告
- 移除了遗留的异步模式API
- 应用了clang格式到generic_pools.cpp
- 添加了ProgramDescriptor为TTNN通用操作做准备
这些改进使得开发过程更加规范和高效,有助于提升代码质量。
性能监控与分析
新版本在性能分析方面也有所增强:
- 为DumpDeviceProfileResults添加了FORCE_PUSH_TO_TRACY选项
- 更新了设备性能容限
- 添加了TM压力测试及相关修复
- 提高了Falcon7b模型的容错阈值以适应CI环境变化
这些工具和调整使得性能分析和优化更加便捷有效。
总结
Tenstorrent Metal项目的v0.58.0-rc22版本在性能、功能和稳定性方面都取得了显著进步。从多核支持到内存管理优化,从模型支持扩展到开发工具改进,这些更新共同构成了一个更强大、更可靠的AI计算框架。特别值得一提的是对复杂生成式AI模型的增强支持和对分布式计算场景的优化,这些改进使得框架在当今热门的AI应用场景中更具竞争力。
随着项目的持续发展,我们可以期待Tenstorrent Metal在AI加速和高性能计算领域发挥越来越重要的作用,为开发者和研究人员提供更强大的工具支持。
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 StartedRust0153- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0112