Rust GPU编程追平CUDA!H100上部分场景反超11%,内存安全还更快
GPU编程领域,CUDA长期是王者。但最近一篇研究论文,让这个格局出现了裂缝。
8月中旬,一篇聚焦Rust语言GPU编程的研究论文引发关注。论文显示,通过LLVM的卸载基础设施,Rust编写的GPU内核性能已能媲美手写优化的CUDA和HIP C++方案。
反超11%是什么概念?
基准测试在英伟达H100和AMD MI250X两款GPU上完成。在H100上,Rust内核的运行速度比原生CUDA快11%到慢46%不等,具体取决于工作负载类型。
也就是说,部分场景下Rust跑得比CUDA更快。虽然另一些场景还有差距,但“追平”本身就已是历史性的突破。
为什么能快?为什么有时慢?
快,是因为这套方案完全构建于LLVM后端与Rust编译器内部,无需依赖第三方组件。整套工具链直接打通了从Rust源码到GPU指令的路径。
慢的场景,差异主要来自寄存器压力与循环展开的适配度。分析显示,Rust的平均寄存器压力略高于CUDA(33个寄存器对28个),在FIR、LTIMES等对循环展开敏感的微基准测试中差距最为明显。团队表示后续将通过代码生成优化继续缩小差距。
更大的价值不在速度,在安全
传统GPU编程用C++写CUDA,为追求极致性能常需使用裸指针,极易引发内存安全漏洞。Rust方案的核心价值在于:在保持编译期内存安全保证的同时,实现了与手工优化C++代码竞争的性能。
Rust的所有权系统在编译期就能保证GPU内存安全,与CUDA中需要运行时调试的通信错误不同,Rust的借用检查器在编译阶段就能捕获这类问题。这项研究证明了一个重要命题:内存安全和高性能可以兼得。
谁在研究?
该研究由曼努埃尔·S·德雷瓦尔德、马塞洛·多明格斯等五位学者完成,论文已发表于arXiv平台(编号2608.13759)。
CUDA多年未逢对手。如今Rust带着内存安全的底子,在性能上也能正面掰手腕。GPU编程的下一个十年,可能要有新故事了。

