NVIDIA is finally closing the last major gap in its ecosystem by making Rust a first-class citizen for writing GPU kernels. For years, developers could launch CUDA kernels from Rust, but the actual kernel logic had to live in C++ or Python. That changes now with two new open-source projects from NVlabs: cuda-oxide for the traditional SIMT model and cutile-rs for the newer Tile model. Both compile Rust code natively, leveraging the language’s strict ownership rules to catch aliasing bugs at compile time rather than during runtime debugging.

The approach splits into two distinct tracks. cuda-oxide targets developers who need explicit control over threads and memory, mirroring the classic CUDA C++ experience. It routes Rust MIR through the Pliron IR framework and LLVM down to PTX. However, it demands a pinned nightly toolchain and specific Linux dependencies. In contrast, cutile-rs operates at a higher level of abstraction. It treats each tile block as a single logical thread, letting the compiler handle thread mapping. This path is significantly easier to adopt, running on stable Rust 1.89+ with CUDA 13.3 and requiring no custom LLVM setup.

Safety is the primary selling point here. In traditional CUDA, buffer aliasing errors are notorious for causing silent data corruption. With these new tools, Rust’s borrow checker intervenes early. If you try to pass an output buffer as an input in cuda-oxide, the compiler throws error[E0502]. Similarly, cutile-rs prevents use-of-moved-value errors across launch boundaries. While shared memory access in cuda-oxide still requires unsafe blocks, cutile-rs abstracts those details away entirely, offering what NVIDIA calls a stronger guarantee against common GPU programming pitfalls.

Adoption is already underway despite the alpha status. cutile-rs is published on crates.io and currently powers Hugging Face’s Grout inference engine and mistral.rs. cuda-oxide remains in early alpha, requiring more manual setup. Neither project is officially production-ready, but the trajectory is clear. As NVIDIA rewrites its own stack—from the Nova Linux driver to Dynamo’s core—in Rust, enabling safe, high-performance kernel development in the same language removes a significant friction point for systems-level AI engineers.