Nvidia Just Let Rust Into CUDA. Here's Why That's a Bigger Deal Than It Sounds Nvidia released CUDA Rust on September 8, two open-source projects that compile Rust directly to PTX for GPU kernels rather than wrapping CUDA C++. The cuda-oxide track uses Rust's borrow checker to catch GPU race conditions at compile time, while cutile-rs offers a stable-Rust tile-based model already running in production in Hugging Face's Grout inference engine and mistral.rs. For twenty years, if you wanted a GPU kernel that actually ran fast on Nvidia hardware, you wrote CUDA C++. Rust could call into it through FFI, wrap it, bind it — but the kernel itself, the code that runs on the device, was C++'s territory. That's the whole reason unsafe shows up everywhere in Rust-on-GPU crates today: you're trusting a foreign toolchain you can't verify. That changed on September 8, when Nvidia shipped CUDA Rust https://developer.nvidia.com/blog/introducing-cuda-rust-two-tracks-for-writing-gpu-kernels/ — two open-source projects that compile Rust straight to PTX. Not a wrapper. Not codegen bolted onto nvcc . A native path. It hit Hacker News at 943 points and 395 comments https://news.ycombinator.com/item?id=49724881 in a single day — this isn't a niche tooling release, it's a shot at one of the deepest moats in tech. Nvidia didn't pick a lane. CUDA already has two mental models for GPU programming, and they mapped each one to Rust separately. cuda-oxide https://github.com/NVlabs/cuda-oxide is the classic "you own every thread" model that CUDA C++ developers already know. It's a custom rustc codegen backend that routes kernel functions through Rust MIR, into a Pliron IR an MLIR-like framework, written in Rust , through LLVM, and out as PTX. js kernel fn vec add a: & f32 , b: & f32 , c: DisjointSlice