Back to News
User submissiondeveloper.nvidia.com

NVIDIA Introduces CUDA Rust for Native GPU Kernel Development

Summary

NVIDIA has introduced CUDA Rust, a set of tools for writing GPU kernels in Rust and compiling them natively to PTX. It offers two programming tracks: cuda-oxide for SIMT kernels, which expose thread and memory control, and cutile-rs for Tile-based kernels, where the compiler manages thread mapping and memory layout. cuda-oxide uses a custom rustc code-generation backend, Pliron, and LLVM; it currently requires Linux, a compute-capability 8.0-or-later GPU, CUDA 12.x or newer, clang, and a pinned nightly Rust toolchain. cutile-rs uses CUDA Tile IR JIT compilation, runs on stable Rust 1.89 or newer with CUDA 13.3, and does not require custom LLVM. Both approaches use Rust’s ownership model to enforce exclusive output access and catch aliasing errors at compile time. cuda-oxide uses DisjointSlice and launch contracts, while cutile-rs partitions tensors into exclusive tiles and derives launch geometry from that partition. NVIDIA recommends Tile for portability and SIMT when developers need direct control over threads or memory; shared memory remains unsafe on the SIMT path. cuda-oxide is in early alpha, while cutile-rs is published on crates.io and is used in Hugging Face’s Grout inference engine and mistral.rs. NVIDIA says it plans interoperability among CUDA Rust, CUDA C++, and CUDA Python, but describes both projects as early-stage and not production-ready.