Article Complete
AIM
You Can Now Write CUDA Kernels in Rust
You Can Now Write CUDA Kernels in Rust

You Can Now Write CUDA Kernels in Rust

The projects, cuda-oxide and cutile-rs, compile Rust kernels natively for NVIDIA GPUs

Published Updated

Key takeaways

  • NVIDIA has launched two open-source projects enabling CUDA GPU kernels to be written in Rust.
  • The projects, cuda-oxide and cutile-rs, compile Rust natively for NVIDIA GPUs without relying on other languages.
  • cuda-oxide focuses on SIMT programming, while cutile-rs targets the newer Tile programming model.
  • These initiatives aim to incorporate Rust's memory-safety features into GPU kernel development.
  • Both projects demonstrate compile-time error detection, enhancing reliability in kernel programming.
5 min

NVIDIA has introduced two open-source projects that let developers write CUDA GPU kernels directly in Rust. This extends Rust into GPU programming that has traditionally required CUDA C++.

The projects, cuda-oxide and cutile-rs, compile Rust kernels natively for NVIDIA GPUs rather than relying on Rust wrappers around code written in another language.

The two projects target different CUDA programming models, the company stated in a blog post. 

cuda-oxide is designed for SIMT programming, where developers explicitly control individual GPU threads and their execution. It uses a custom rustc code-generation backend to route Rust code through NVIDIA’s GPU dialects, Pliron IR, and LLVM, before producing PTX.

cutile-rs targets NVIDIA’s newer Tile programming model, where developers describe operations on blocks of data, and the compiler determines how those tiles map to GPU threads and hardware. It runs on stable Rust 1.89 or newer and CUDA 13.3, while cuda-oxide currently requires a pinned nightly Rust toolchain.

NVIDIA said the projects are intended to bring Rust’s compile-time memory-safety guarantees to GPU kernel development. 

In the SIMT implementation, DisjointSlice provides each thread exclusive access to its output element, while Tile uses tensor partitioning to establish exclusive ownership of writable sub-tensors.

The company demonstrated both approaches with a 1,024-element vector-addition kernel. 

The examples catch certain aliasing errors at compile time rather than leaving them to runtime debugging, although SIMT shared-memory programming still requires unsafe code.

Both projects remain early-stage. 

NVIDIA describes cuda-oxide as early alpha, while cutile-rs is already published on crates.io and is being used in Hugging Face’s Grout inference engine and mistral.rs. It plans to support interoperability between CUDA Rust, CUDA C++, and CUDA Python, allowing developers to use different frontends without being locked into one ecosystem.

“NVIDIA is excited to be leaning in with the Rust community as we elevate native Rust GPU programming,” said the company. “Projects like rust-cuda, rust-gpu, and cudarc pioneered the marriage of GPUs and Rust, and the people behind them, including the team at VectorWare, continue to shape how we think about our own work as we build with the Rust community.”

Membership

Stay ahead with AI insights.

Unlimited access to premium articles, exclusive analysis, and the stories shaping India's AI economy.

Subscribe now

AIM Americas

1190 Miraloma Way Suite P, Sunnyvale, CA 94085

AIM India

1st Floor, Sakti Statesman, Bellandur, Bengaluru – 560103

Β© 2026 AIM. All rights reserved.