In September 2026, Nvidia unveiled two new Rust frameworks for GPU programming: cuda-oxide and cutile-rs. This closes a long-standing gap – while more of AI infrastructure is written in Rust (drivers, inference engines, agent runtimes), GPU kernels have had to be developed in other languages. Now developers can write kernels directly in Rust and compile them natively to PTX (Parallel Thread Execution).
The essentials
- Two programming models: cuda-oxide follows the SIMT model (Single Instruction, Multiple Threads); cutile-rs uses the newer Tile model, which delegates architecture decisions to the compiler
- Different maturity levels: cutile-rs runs on stable Rust 1.89+ and is already published on crates.io; cuda-oxide requires a pinned Nightly toolchain and remains in early alpha
- Early adopters: cutile-rs is already used in HuggingFace's Grout inference engine and mistral.rs
- Memory safety: Both frameworks enforce memory safety at compile time – cuda-oxide via DisjointSlice and launch contracts, cutile-rs via tensor partitioning and ownership
Two paths, one language
The two frameworks serve different developer needs. cuda-oxide targets those who need full control over thread mapping and memory layout – the classic SIMT model familiar from CUDA C++ or Numba. You specify what a single thread does, then launch thousands of them.
cutile-rs takes a more abstract approach: you define what a data tile should do, and the compiler decides how to map those tiles onto the target GPU architecture. This makes code more portable and less prone to architecture-specific optimization mistakes. Nvidia recommends starting with Tile first, dropping to SIMT only when you need that control.
| Criterion | cuda-oxide | cutile-rs |
|---|---|---|
| Model | SIMT (classic) | Tile (modern) |
| Rust version | Nightly (pinned) | Stable 1.89+ |
| Dependencies | LLVM required | No custom LLVM |
| Status | Early alpha | Production (crates.io) |
| Known users | – | HuggingFace, mistral.rs |
Memory safety without performance trade-offs
Both frameworks enforce memory safety at compile time – a major Rust advantage. cuda-oxide uses DisjointSlice and launch contracts to prevent aliasing issues. cutile-rs relies on tensor partitioning and ownership rules to guarantee exclusive access. This means entire classes of bugs (race conditions, buffer overflows) never occur in the first place, rather than being debugged at runtime.
Interoperability planned
Nvidia plans for CUDA Rust, CUDA C++, and CUDA Python to work seamlessly together in the future. This means: choosing your frontend language won't lock you out of other ecosystems. You can use Rust kernels alongside C++ kernels in the same project.
What this means for enterprises
For teams building AI infrastructure, inference engines, or specialized GPU software, the barrier to entry is lowering. Instead of onboarding Rust developers to CUDA C++, they can stay in their language. This could be particularly valuable for startups and mid-market companies building Rust-first stacks. However: cuda-oxide is still alpha, cutile-rs is production-ready – if you're starting today, begin with Tile and cutile-rs, not SIMT.
Sources
Editorially owned by Ideal Syka. Sources and method: Newsroom & method. Tips and corrections: ai@i6eal.de.




