Dev tools

Nvidia announces two ways to write CUDA kernels in Rust, and Hugging Face is already using one in production

September 16, 2026 at 5:20 PM PT

Diagram from Nvidia showing the cuda-oxide and cutile-rs compilation paths for CUDA kernels in Rust

Image: Nvidia

Why it mattersA Rust team can now write GPU kernels in the same language as the rest of its inference stack, keeping types, safety and tooling intact instead of dropping into a separate CUDA C++ file.

Nvidia announced on 8 September that developers can now write CUDA kernels natively in Rust, through two open projects called cuda-oxide and cutile-rs. The post surfaced on Hacker News on 16 September with 133 points. Nvidia says both projects are early-stage and neither is production-ready, and names Hugging Face's Grout inference engine and mistral.rs as teams already building on cutile-rs outside Nvidia.

What the two projects do

Cuda-oxide is a custom rustc codegen backend. Nvidia's post explains that it intercepts compilation and routes functions marked #[kernel] through Rust MIR and LLVM IR down to PTX, so the kernel stays in Rust until the standard LLVM backend takes over. Nvidia calls this the SIMT track: the developer keeps manual control over shared memory and thread indexing, at the cost of unsafe blocks. It requires Linux, a GPU with compute capability 8.0 or higher, CUDA 12.x or newer, clang with libclang headers, and a pinned nightly toolchain from 3 April 2026.

Cutile-rs sits at a higher level. Nvidia describes it as tile-based programming, where a #[cutile::module] macro embeds the kernel in the host binary and JIT-compiles through the CUDA Tile IR the first time it runs. The compiler decides how tiles map to each GPU architecture, so Nvidia writes that this "eliminates architecture-specific choices". Cutile-rs runs on stable Rust 1.89 or newer, needs CUDA 13.3, and is published on crates.io.

Which one to reach for

Nvidia's own guidance in the post is direct: "reach for Tile first, and drop to SIMT when you need that control." The team also says CUDA Rust, CUDA C++ and CUDA Python will interoperate, so a project can mix the three without locking itself out of any one of them.

The status is stated plainly on the page. Cuda-oxide is early alpha, coverage is incomplete, APIs will change. Cutile-rs is further along, "already used outside Nvidia", but Nvidia still labels it not production-ready. Adopters are asked to file bug reports and feature requests rather than trust the current release surface.

Two named users tell you the projects are more than a proof of concept: Hugging Face's Grout inference engine and mistral.rs. Nvidia does not publish performance numbers, integration details or a maintenance commitment for either, and there is nothing measured to compare against writing the same kernel in CUDA C++ today.

For a Rust-native inference stack, keeping the kernel in Rust removes the second toolchain, the separate build step and the boundary where types stop being checked. That is a real gain for a small team that already lives in Cargo, and a real risk on the alpha side, because a pinned nightly and a shifting API is not a place to build a production dependency yet. Cutile-rs on stable Rust is the softer entry point, and mistral.rs is the closest reference build for a public codebase.

Source

Nvidia Technical Blog: Introducing CUDA Rust: two tracks for writing GPU kernels by Sri Koundinyan, Melih Elibol and Jonathan Bentz, 8 September 2026.

Source: Nvidia

This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.

More from AI News

Three open-weight acquisitions in a month, in a sector built on giving things away

Nvidia reportedly bidding about $13 billion for Hugging Face, $6 billion to Poolside, and Stripe paying more than $7 billion for OpenRouter. Meanwhile only 6 percent of companies use open-weight models, by one survey.

Source: PressModels & agents

pd-bridge runs DeepSeek-V4-Flash by prefilling on two NVIDIA DGX Sparks and decoding on a Mac Studio over plain 10 gigabit Ethernet

A new Apache 2.0 reference implementation runs DeepSeek-V4-Flash by prefilling on two NVIDIA DGX Sparks and decoding on a Mac Studio M3 Ultra, with a single 10 gigabit Ethernet link between them.

Source: GitHubInfrastructure

DeepSeek released DeepJIT, a header-only C++20 runtime that compiles kernels for both NVIDIA CUDA and Huawei Ascend

DeepSeek published DeepJIT on 8 September 2026, a header-only C++20 library that gives PyTorch extensions one compile, cache, load and launch interface for both NVIDIA CUDA GPUs and Huawei Ascend NPUs.

Source: GitHubOpen source