用 Agentic AI 将 CUDA Tile 操作从 Python 转译到 Rust

NVIDIA 团队用多智能体 AI 工作流,把 24 个 TileGym 公开算子从 cuTile Python 和 Triton-TileIR 转译到 cuTile Rust,平均性能达到 Python 版的 99.5%。这说明 GPU 内核跨语言迁移可以做到又快又可控。

一句话看懂:NVIDIA 团队用多智能体 AI 工作流,把 24 个 TileGym 公开算子从 cuTile Python 和 Triton-TileIR 转译到 cuTile Rust,平均性能达到 Python 版的 99.5%。这说明 GPU 内核跨语言迁移可以做到又快又可控。

事件核心:发生了什么

cuTile Rust(cutile-rs)是 Rust 语言下的 tile 级 GPU 内核编写系统,它把 Rust 所有权模型延伸到 tile 内核,同时允许程序员在需要底层控制时局部退出,直接执行 Tile IR 操作。为了让 TileGym 里用 cuTile Python 和 Triton-TileIR 写的大量生产级内核也能在 Rust 中使用,NVIDIA 团队构建了一个 AI agent skill,专门做这类转译。

借助这个 skill,团队把全部 24 个公开 TileGym 算子迁移到 cuTile Rust,总共涉及约 40 个 GPU 内核,覆盖逐元素运算、flash-attention decode、MLA、MoE 等,平均性能达到 cuTile Python 的 99.5%。每次转换都走一条有界的多智能体流水线,包含分析、device kernel、host 与 FFI 代码、基准测试,每一阶段都以可机器校验的结论收尾,再用验证脚本和 Tile IR diff 决定是否继续。

为什么重要

cuTile Python、Triton-TileIR 和 cuTile Rust 是同一个 CUDA Tile IR 的三套前端,最终都交给同一个 tileiras 编译器。这意味着迁移不是重新优化,而是把同一段 tile 程序换一种更安全的宿主语言重新表达。由于三套前端产出同一方言,团队可以在跑测试之前直接对比参考内核与转译内核的 Tile IR,结构性发现“看似正确但实际有偏差”的问题,比如 TMA load 代价提示不对或丢了整除属性。这类问题能通过功能测试,却会在测试覆盖之外出错或带来性能回退。

核心难点在于特化方式不同:cuTile Python 的 JIT 在调用时隐式特化,Rust 则要求把每一项特化写进内核签名。这决定了转译工作的重心,也决定了结果的可靠性。

对用户/开发者/创作者的影响

对 GPU 内核开发者来说,这条路线降低了把已有 Python/Triton 内核迁移到 Rust 的成本,同时保留同一编译器与性能模型。目前公开信息显示,该 skill 已随 TileGym 仓库发布,开发者可以直接把它用在自己的内核上。在 TileGym 里,cuTile Rust 只是另一个后端,通过 tilegym.set_backend(“cutile-rs”) 就能把同一套算子 API 路由到 Rust 内核,不需要改上层调用逻辑。

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

值得关注的后续

一是这个 agent skill 在 TileGym 之外的复杂内核上是否同样稳定,尤其是多 kernel 变体和动态特化场景。二是 IR diff 这套校验机制能否被其他 GPU 语言迁移项目复用。三是 Rust 后端在生产推理中的实际采用情况,以及社区是否会围绕 cuTile Rust 扩展更多算子与工具链。

来源:NVIDIA Generative AI Blog

celebrityanime
celebrityanime
文章: 23916

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注