过去,Rust 开发者想让 NVIDIA 显卡承担并行计算,缺少一条官方原生入口。现在 NVIDIA 推出 CUDA Rust:主机端运行库负责准备数据、调度任务和管理显存,设备端工具则用 Rust 编写 GPU Kernel——也就是交给显卡大量工作单元同时执行的小程序。
它最值得注意的是同时提供两种编程模型。cutile-rs 采用 Tile 模型,把矩阵或张量切成数据块,开发者按整块描述计算,编译器负责映射到具体 GPU;cuda-oxide 则采用 SIMT(单指令、多线程),允许直接控制线程、共享内存和同步。前者更像 NumPy、PyTorch 的张量操作,后者更接近传统 CUDA C++。两类内核还能在同一条任务流中操作共享的设备缓冲区,应用可按需求混用。
项目还把 Rust 的所有权规则延伸到 GPU 任务启动边界,用互不重叠的可变数据分区降低数据竞争风险。不过 NVIDIA 明确称它仍是早期研究项目,可能存在缺陷、功能缺失和 API 变动,眼下更适合尝鲜与反馈,而非默认用于稳定生产。