NewsGPU programmingRustCUDA

Nvidia Introduces CUDA Rust – GPU Kernels Now Native in Rust

Nvidia opens GPU kernel development to Rust programmers. Two new frameworks – cuda-oxide and cutile-rs – let developers write and compile GPU kernels directly in Rust to PTX, eliminating the need for C++ or Python wrappers.

Two new Rust frameworks for GPU kernels

Nvidia Introduces CUDA Rust – GPU Kernels Now Native in Rust

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.

Share
← All articles

All analyses are based on i6eal's own measurements or on clearly labelled sources. Figures are snapshots and may change; corrections are disclosed transparently.