NVIDIA 发布 CUDA Rust

来自 NVIDIA Developer · 期号 2026-09-08

摘要

NVIDIA 宣布为 Rust 语言提供原生 GPU 编程支持,推出 CUDA Rust。 CUDA Rust 提供两条路径:一条是安全优先的 safe API,适合编写 agent 运行时、推理引擎等系统层代码;另一条是直接映射 CUDA C++ 语义的 unsafe API,用于移植现有高性能内核。 NVIDIA 称 CUDA C++ 和 CUDA Python 已是成熟的企业级工具链,CUDA Rust 将在 2027 年及以后持续完善。

深读

导读 NVIDIA 在 2026 年 9 月正式推出 CUDA Rust,为 Rust 语言提供原生的 GPU 内核编写能力。它提供两条路径:一条是安全优先的 Tile API,另一条是直接映射 CUDA C++ 语义的 SIMT API。读完本文能了解两条路径的设计取舍、安全保证机制以及当前的项目成熟度,适合正在用 Rust 构建 AI 系统层(推理引擎、agent 运行时)的开发者评估是否值得跟进。 关键信息 - CUDA Rust 包含两个项目:cuda-oxide(SIMT 路径)和 cutile-rs(Tile 路径)。cuda-oxide 是自定义 rustc codegen 后端,通过 Pliron IR 框架和 LLVM 将 Rust 内核编译到 PTX;cutile-rs 在稳定 Rust 上运行,通过 CUDA Tile IR JIT 编译。 - cutile-rs 已发布到 crates.io,并被 HuggingFace 的 Grout 推理引擎和 mistral.rs 使用;cuda-oxide 仍处于早期 alpha 阶段。 - cuda-oxide 需要 Linux、compute capability 8.0+ 的 GPU、CUDA 12.x+、clang 以及 pinned nightly toolchain;cutile-rs 只需要 Linux、CUDA 13.3、稳定 Rust 1.89+,无需 nightly 和自定义 LLVM。 - 两条路径都在编译时强制内存安全:cuda-oxide 使用 DisjointSlice 和 launch contract 防止别名访问;cutile-rs 通过张量分区和所有权保证独占写入。 - Tile 路径的编译器自动管理线程映射和内存布局,内核体作为单逻辑线程运行,从根本上消除了线程竞争;SIMT 路径保留了对共享内存和线程索引的显式控制,但共享内存目前需要 unsafe。 - NVIDIA 计划支持 CUDA Rust、CUDA C++ 和 CUDA Python 之间的互操作,选择前端不会锁定开发者。 逐节讲解 为什么需要 CUDA Rust AI 系统层(推理引擎、服务基础设施、驱动、agent 运行时)越来越多地用 Rust 编写,因为 Rust 在编译时捕获整类错误且不牺牲性能。NVIDIA 自身也在转向 Rust:Nova Linux 驱动用 Rust 写,NVIDIA Dynamo 基于 Rust 核心,NVTX 有 Rust 绑定。但 GPU 内核是个例外,你可以从 Rust 启动内核,但内核本身通常要用另一种语言编写。CUDA Rust 填补了这个缺口,让 GPU 内核可以用 Rust 编写并原生编译到 PTX。 两条路径:SIMT 与 Tile CUDA 本…

读原文

本站只做摘要与索引,全部内容版权归原作者所有。