NVIDIA Announces CUDA Rust with cuda-oxide (SIMT) and cutile-rs (Tile) for Compile-Time-Safe GPU Kernels NVIDIA announced CUDA Rust, a two-track initiative to make Rust a first-class language for writing GPU kernels, with NVlabs open-source projects cuda-oxide for the SIMT model and cutile-rs for the Tile model, both compiling Rust kernels natively and using Rust's ownership rules to reject aliasing bugs at compile time. cutile-rs is published on crates.io, runs on stable Rust 1.89+, and is already used in Hugging Face's Grout inference engine and mistral.rs, while cuda-oxide is early alpha and requires a pinned nightly toolchain. The projects are in alpha and not confirmed for production. NVIDIA has announced CUDA Rust https://developer.nvidia.com/blog/introducing-cuda-rust-two-tracks-for-writing-gpu-kernels/ , a push to make Rust a first-class language for writing GPU kernels. Rust code could already launch CUDA kernels, but the kernel body usually had to be written elsewhere. CUDA Rust closes that gap with two NVlabs open-source projects: cuda-oxide https://github.com/NVlabs/cuda-oxide for the SIMT model and cutile-rs https://github.com/NVlabs/cutile-rs for the newer Tile model. Both compile Rust kernels natively and use Rust’s ownership rules to reject aliasing bugs at compile time. Is it deployable? Partially. cutile-rs is published on crates.io https://crates.io/crates/cutile , runs on stable Rust 1.89+, and is already used in Hugging Face’s Grout https://github.com/huggingface/grout inference engine and in mistral.rs https://github.com/EricLBuehler/mistral.rs . cuda-oxide is early alpha. The both projects are in alpha phase and not confirmed for production. Why Rust for the GPU Kernel The systems layer of AI, from inference engines to drivers and agent runtimes, is increasingly written in Rust. NVIDIA’s Nova Linux driver is in Rust, NVIDIA Dynamo https://www.nvidia.com/en-us/ai/dynamo/ has a Rust core, and NVTX has Rust bindings. The GPU kernel was the exception. The two tracks mirror the two programming models CUDA already offers. SIMT is the model used in CUDA C++ and numba-cuda https://nvidia.github.io/numba-cuda/ : you describe what one thread does and launch thousands of them. Tile is the newer model, also available in C++ https://docs.nvidia.com/cuda/cuda-tile-cpp-api-reference/ and Python https://docs.nvidia.com/cuda/cutile-python/ : you describe what one tile of data does, and the Tile IR compiler https://docs.nvidia.com/cuda/tile-ir/latest/index.html handles thread mapping and memory layout. NVIDIA recommends Tile first, with SIMT for explicit thread and memory control. Planned inter-language interop means choosing Rust will not lock developers out of C++ or Python. The SIMT Track: cuda-oxide cuda-oxide is a custom rustc codegen backend. It routes kernel functions through Rust MIR, the community Pliron https://github.com/pliron-org/pliron IR framework, and LLVM IR down to PTX, then hands everything else to the standard backend. NVIDIA wrote the GPU dialects on top of Pliron. Requirements: Linux, a GPU with compute capability 8.0 or later, CUDA 12.x or newer, clang with libclang, and a pinned nightly toolchain nightly-2026-04-03 . cargo oxide doctor checks the setup and cargo oxide new scaffolds a vector addition program, with host and device code in one file. The safety argument sits in the kernel signature. Inputs a and b are ordinary shared slices. The output c is a DisjointSlice