In September 2026, NVIDIA announced its intention to support native GPU programming in Rust. This initiative aims to mature CUDA Rust into 2027 and beyond, positioning it alongside established toolchains like CUDA C++ and CUDA Python. The company notes that the systems layer of AI, encompassing inference engines, serving infrastructure, drivers, and agent runtimes, is increasingly being written in Rust due to its compile-time bug detection and performance.
NVIDIA is addressing a gap where GPU kernels often required other languages, even when launched from Rust. CUDA Rust allows GPU kernels to be written in Rust and compiled natively to PTX, eliminating the need for wrappers around code from other languages. Two tracks are available for Rust developers, mirroring existing CUDA models: SIMT and Tile.
Key Points
- NVIDIA announced its focus on native GPU programming in Rust in September 2026.
- CUDA Rust is planned to mature into 2027 and beyond, alongside CUDA C++ and CUDA Python.
- cuda-oxide provides a custom
rustccodegen backend that compiles SIMT-style GPU kernels written in Rust directly to PTX. - cutile-rs enables Tile-based GPU programming in stable Rust, managing thread mapping and memory layout through CUDA Tile IR JIT compilation.
- cuda-oxide requires a pinned nightly toolchain (e.g.,
nightly-2026-04-03) and LLVM, while cutile-rs runs on stable Rust 1.89+ with CUDA 13.3. - cutile-rs is published on
crates.ioand is used in HuggingFace's Grout inference engine andmistral.rs. - NVIDIA plans to support inter-language interoperability between CUDA Rust, CUDA C++, and CUDA Python.
Context
According to NVIDIA, the shift towards Rust in AI's systems layer is driven by its ability to catch bug classes at compile time without sacrificing performance. This aligns with NVIDIA's existing use of Rust in components like the Nova Linux driver, NVIDIA Dynamo's Rust core, and NVTX's Rust bindings. The introduction of CUDA Rust specifically targets the GPU kernel, which previously remained an exception to Rust's growing presence in the stack.
The two programming models, SIMT and Tile, offer different approaches. SIMT is a direct translation of the model used in CUDA C++ or numba-cuda, where developers define the actions of a single thread. Tile is a newer model where the compiler handles how data tiles map onto specific architectures, allowing for more portable code. NVIDIA recommends starting with the Tile model for its architecture-agnostic benefits, reserving SIMT for situations requiring fine-grained control over memory and threads.
Why It Matters
For developers, the introduction of CUDA Rust provides new options for writing high-performance GPU kernels within the Rust ecosystem. This expands the choice of language for critical AI infrastructure components, potentially leading to more robust and performant systems due to Rust's memory safety guarantees and NVIDIA's commitment to inter-language interoperability.
What To Do
- Run the SIMT example with cuda-oxide by scaffolding a project and executing
cargo oxide run. - Run the Tile example with cutile-rs by cloning the repository and running the
hello_worldexample. - Read the cuda-oxide book and cuTile Rust documentation for detailed guides and API references.
- File issues on cuda-oxide or cutile-rs to report bugs or missing features.
- Join the cuda-oxide Discord or GitHub Discussions for community engagement.
