Rust 实现 GPU 卸载:便携安全且快速
GPU Offload in Rust: Portable, Safe, and Fast

高性能 GPU 编程长期面临效率与内存安全的两难抉择。以往在 Rust 中利用其所有权模型保障主机 CPU 安全的同时,若要涉足大规模并行 GPU 环境,往往被迫依赖厂商锁定的 DSL 或退而求其次使用不安全的裸指针。这项研究提出了一种零开销、多厂商通用的 GPU 编译框架,直接构建于 Rust 编译器(rustc)和 LLVM 后端之上。通过利用 Rust 强大的类型系统、所有权机制及严格的别名保证(noalias),该框架高效管理并优化了数据转移。实验在 RAJAPerf 基准测试中显示,基于 rustc 的方案生成的 LLVM IR 具有竞争力,其 GPU 内核性能可与原生手优化的 CUDA 和 HIP C++ 基线相媲美,真正实现了跨厂商的便携、安全与高速。
高性能 GPU 编程传统上迫使人们在执行效率与内存安全之间做出妥协。