NVIDIA announces CUDA Rust with two tracks: cuda-oxide for SIMT kernels and cutile-rs for Tile kernels
- NVIDIA announced CUDA Rust, which compiles GPU kernels written in Rust directly to PTX instead of wrapping code from another language, split into a SIMT track (cuda-oxide) and a Tile track (cutile-rs).
- cuda-oxide uses a custom rustc codegen backend built on the Pliron IR framework and LLVM, and needs a pinned nightly toolchain plus LLVM; cutile-rs runs on stable Rust 1.89+ with CUDA 13.3 and no custom LLVM.
- cutile-rs is already published on crates.io and used in HuggingFace's Grout inference engine and mistral.rs, while cuda-oxide stays in early alpha.
- Both tracks enforce memory safety at compile time: cuda-oxide uses DisjointSlice and launch contracts to prevent aliasing, cutile-rs uses tensor partitioning and ownership to guarantee exclusive access.
- NVIDIA plans interoperability between CUDA Rust, CUDA C++, and CUDA Python so picking one frontend does not lock developers out of the others, and says it will mature CUDA Rust into 2027 and beyond.
Hacker News opinions
Looking forward to trying these once they stabilize. I use WGPU for graphics and cudarc for CUDA, and cuda-oxide looks like cudarc's host component but with a Rust-style kernel dialect. Sharing structs between host and device is nice, but you trade standard CUDA kernels for a WIP dialect, and last I checked it was Linux only.
cudarc has been great for me because existing examples and references map 1-to-1 to what I see. I already have a tough time with CUDA itself, so a dialect makes it harder to lean on prior work, even if both new approaches are more ergonomic and need less build setup.
NVIDIA owns HuggingFace now and Candle is an excellent Rust inference crate, so this looks like a good step toward native Rust kernels.
Nobody cares if kernels are written in Rust. Kernels were meant to be written in C, and if you want higher level, Triton or a similar DSL handles tile sizes and abstraction much better.
The launch is checked rather than trusted. Even NVIDIA is putting out fully Claude-written articles now.
They have an AI-generated summary box too, so I'm not surprised. I started seeing fully AI-written documentation on their smaller projects more than a year ago, before it was even slightly a good idea.
This is a pre-1.0 release that needs a nightly Rust compiler for the SIMT track, so get ready for unstable software. When a kernel breaks you now have to work out whether the problem is cuda-oxide, Rust, CUDA, or Tile, and everything is open source except CUDA itself, so CUDA-level bugs mean waiting on NVIDIA.
All this LLM-written everything quietly killed my motivation to learn Rust, and this actually revived it, if only because the models haven't trained on it yet.
LLMs don't need to be trained on a library to use it well. It's just Rust, which they know well.
What this article tells me is that nobody at NVIDIA cares about this project at all. Otherwise they would have had an actual person write the announcement.
I strongly dislike CUDA. Once you let it into your C++ codebase you end up vendor-locked or in ifdef hell, probably both. Write kernels in separate files and launch them manually like Metal, OpenCL, and D3D12, or use Triton.
Is this satire? D3D12 and Metal aren't any less proprietary than CUDA.
Launching kernels manually is an error-prone pain, and I think that's the main reason CUDA got popular. Having the compiler complain when you mess up the grid dimensions and arguments is where most of the value comes from.
Nvidia only? Typical. rust-gpu looks far more promising than this.
Rust for GPU programming should make my CUDA debugging sessions a lot less painful. Been waiting for something like this, CUDA C++ is a pain and Rust's safety could be a game changer for kernel code.