Nvidia introduced two ways to write GPU kernels directly in Rust instead of CUDA C++, according to a company blog post. The first, cuda-oxide, is a custom rustc codegen backend that compiles Rust to PTX using the same per-thread model as CUDA C++. The second, cutile-rs, has developers write operations on data tiles instead of individual threads, letting the compiler decide how tiles map onto a given GPU architecture.
cuda-oxide needs a pinned nightly Rust toolchain, a custom LLVM setup, Linux, CUDA 12.x or newer and a GPU with compute capability 8.0 or higher, Nvidia said. cutile-rs runs on stable Rust 1.89 or newer with CUDA 13.3, requires no nightly toolchain or custom LLVM, and is already published on crates.io.
cutile-rs is the more mature of the two and already runs in production, including Hugging Face's Grout inference engine and mistral.rs, Nvidia said. Both approaches enforce memory safety at compile time, cuda-oxide through a type called DisjointSlice and cutile-rs through Rust's ordinary ownership rules.
For teams writing GPU kernels, the pitch is catching memory bugs before a kernel ever launches instead of debugging a crash on the device, the kind of error that costs the most time in code that usually runs without a debugger attached.