NVIDIA/cuda-rust
Developer ToolsWrite and run CUDA GPU kernels in Rust using either tensor-style Tile kernels or low-level SIMT control.
CUDA Rust is NVIDIA's early-stage platform for programming NVIDIA GPUs in Rust. It combines a shared host runtime for driver bindings, contexts, streams, buffers, events and async work with two ways to write device kernels, so the main fit is Rust developers doing GPU-accelerated numerical or systems work rather than an application end user.
Two kernel models
The SIMT path (cuda-oxide) is a custom rustc codegen backend plus cargo helper and device crates for the traditional CUDA threading model; programmers control thread and block indices, shared memory and synchronization, and code is compiled ahead of time from Rust to PTX. Its toolchain is a pinned stable Rust 1.99.1 managed by cargo oxide, with rustc-dev and llvm-tools CUDA Rust README.
The Tile path (cutile-rs) is a proc-macro plugin and crate set where tensors are partitioned into sub-tensors, kernels compute on whole tiles, and the compiler decides tile mapping and tunes per GPU; it JIT-compiles on first launch from Rust through Tile IR to cubin and works on stable Rust 1.89 or newer CUDA Rust README. Tile removes explicit thread indexing and synchronization within a kernel; SIMT is recommended for sparse or pointer-chasing workloads, while Tile suits dense numerical tensor math. Both can run on the same stream over shared buffers.
What the runtime provides
The host side consists of cuda-bindings for CUDA driver API bindings, cuda-core (with cuda-core-derive) for contexts, streams, memory, modules, events and launches, and cuda-async for lazy operations, futures, streams and graphs CUDA Rust README. Both kernel models extend Rust ownership across the launch boundary: mutable buffers are split into disjoint pieces, immutable buffers are shared, and launchers keep borrows alive while GPU work is in flight.
Requirements and current status
Using either model requires a compatible NVIDIA GPU and CUDA driver; the SIMT path additionally needs its pinned toolchain setup, while Tile requires only stable Rust 1.89+. Installation and reference material are in the separate cuda-oxide and cutile-rs books, and the runtime crates are documented in the cutile-rs book CUDA Rust docs.
The project describes itself as early-stage research: bugs, incomplete features and API breakage are expected, so it is not a stability commitment for production work CUDA Rust README. The whole repository, including both kernel models and shared host crates, is Apache-2.0 licensed LICENSE.
HotRepo's take
A single daily Trending observation on 2026-10-29 recorded 3,866 stars and +32 for that day; the supplied board history is too short to support any trend claim.
Written by AI from the project's README, updated October 29, 2026. The project's own docs are the source of truth.