awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
NVIDIA avatar

NVIDIA/cuda-rust

0
View on GitHub↗

Cuda Rust

cuda-rust is a Rust toolchain for writing NVIDIA CUDA GPU kernels and managing the host-side resources that run them. It lets developers write GPU programs in Rust instead of C++, using either direct thread-level programming or higher-level tile-based programming. Rust ownership and borrowing rules are carried across kernel launches, which is how the project aims to prevent data races and invalid memory use in parallel GPU code.

The two kernel models are handled differently. Thread-level kernels are compiled ahead of time to PTX by a custom compiler backend, which keeps direct control over threads, blocks, warps, cluster operations and shared memory. Tile-based kernels operate on whole tiles of partitioned tensors with array-style operations, and the compiler decides how tiles map onto the GPU. They are compiled just in time at first launch for the detected architecture, so the source stays architecture-agnostic. Both kinds of kernel can run on the same stream over shared device buffers, so an application can use whichever model suits each workload.

On the safety side, a mutable tensor is split into disjoint sub-tensors, each owned exclusively by one tile program. Immutable buffers are shared, and borrows are held until in-flight GPU work finishes. On the host, safe wrappers cover GPU contexts, streams, device buffers and events, with lifetimes tied to Rust scopes. Device operations are composed as lazy values that are scheduled and awaited asynchronously, so host code can overlap other work instead of blocking on each launch.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
nvidia.github.io/cuda-rust
↗

Features

  • GPU Kernel Programming - Compiles idiomatic Rust into NVIDIA GPU kernels, covering both thread-level and tile-based programming instead of C++.
  • Tile-Based GPU Kernel Programming - Provides a tile-based kernel model where kernels operate on whole partitioned tensor tiles and the compiler maps tiles onto the GPU.
  • GPU Kernel Development - Lets developers write NVIDIA GPU kernels in Rust instead of C++, with either direct thread-level control or higher-level tile-based code.
  • Ahead-Of-Time Compilers - Ships a custom compiler backend that lowers idiomatic Rust to PTX ahead of time, keeping control over threads, blocks, warps and shared memory.
  • Ownership & Borrowing - Extends Rust ownership and borrowing rules across GPU kernel launches, sharing immutable buffers and holding borrows until in-flight work completes.
  • SIMT Thread-Level Programming - Offers direct control over threads, blocks, warps, cluster operations and shared memory through a custom compiler backend.
  • Ownership and Borrowing - Applies Rust ownership and borrowing across CUDA kernel launches, using disjoint tensor partitions and borrows tracked until in-flight work completes.
  • Disjoint Tensor Partitions - Splits a mutable tensor into disjoint sub-tensors, each owned by one tile program, so concurrent GPU writes cannot race.
  • Just-In-Time Kernel Compilers - Compiles tile kernels at first launch through an intermediate representation into a binary tuned for the detected GPU architecture.
  • Memory Safety - Extends Rust ownership rules over kernel launches by splitting mutable buffers into disjoint pieces, sharing immutable ones, and holding borrows until GPU work finishes.
  • SIMT Execution Models - Gives direct control over threads, blocks, warps, cluster operations and shared memory through kernels compiled ahead of time to PTX.
  • Asynchronous GPU Host Runtimes - Provides safe host wrappers for GPU contexts, streams, buffers and events, with lazy device operations composed and awaited asynchronously.
  • Ahead-of-Time Kernel Compilation - Compiles thread-level Rust kernels to PTX ahead of time through a custom compiler backend, keeping direct control over threads, warps and shared memory.
  • Lazy Asynchronous Task Modeling - Composes device operations as lazy values that are scheduled and awaited asynchronously so host code can overlap other work.
  • Mixed-Model Kernel Execution - Runs tile-based and thread-level kernels on one stream over shared device buffers so each workload uses the model that suits it.
  • GPU Resource Managers - Manages GPU contexts, streams, device buffers and events through safe Rust wrappers tied to scope lifetimes.
  • Asynchronous GPU Tasking - Chains lazy GPU operations that are scheduled and awaited asynchronously, letting host code avoid blocking on each kernel launch.
4,007 stars·364 forks·Rust·Apache-2.0·0 views

Star history

Star history chart for nvidia/cuda-rustStar history chart for nvidia/cuda-rust

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Cuda Rust

These projects share indexed features with Cuda Rust. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • nvidia/isaac-gr00tNVIDIA avatar

    NVIDIA/Isaac-GR00T

    6,222View on GitHub↗
    Jupyter Notebook
    View on GitHub↗6,222
  • rust-gpu/rust-cudaRust-GPU avatar

    Rust-GPU/rust-cuda

    5,245View on GitHub↗

    rust-cuda is a GPU programming framework and device compiler that allows for the development and execution of high-performance kernels on NVIDIA hardware using Rust. It provides a driver wrapper to manage device memory allocation and kernel launching, effectively serving as a system for writing GPU compute logic without relying on C++. The project includes a compute library with hardware-optimized primitives for neural network acceleration and hardware-accelerated raytracing. It utilizes a compilation toolchain that translates source code into a low-level intermediate representation for execu

    Rustcudacuda-kernelscuda-programming
    View on GitHub↗5,245
  • nvidia/cuda-samplesNVIDIA avatar

    NVIDIA/cuda-samples

    9,745View on GitHub↗

    This repository is a collection of reference implementations and programming examples for the CUDA Toolkit. It serves as a GPGPU implementation guide and a parallel computing reference, providing code for using graphics hardware to perform general-purpose calculations and high-performance parallel processing. The project provides specific samples for GPU kernel development and resource management. These include demonstrations of multi-GPU communication, peer-to-peer memory access, and system hardware inspection to coordinate distributed GPU resources. The codebase covers a wide range of capa

    C++cudacuda-driver-apicuda-kernels
    View on GitHub↗9,745
  • infrasys-ai/aisystemInfrasys-AI avatar

    Infrasys-AI/AISystem

    18,127View on GitHub↗

    AISystem is a comprehensive AI full-stack infrastructure project covering the entire pipeline from AI chip architecture to high-level training frameworks. It encompasses the development of AI compiler frameworks, inference engines, and distributed training orchestrators designed to coordinate workloads across a heterogeneous compute stack of CPUs, GPUs, and NPUs. The project focuses on the deep integration of software and hardware, employing software-hardware co-design to align tensor layouts with physical memory structures. It provides specialized capabilities for accelerating Transformer mo

    Jupyter Notebookaiaiinfraaisys
    View on GitHub↗18,127
Compare all 30 related projects→

Frequently asked questions

What does nvidia/cuda-rust do?

cuda-rust is a Rust toolchain for writing NVIDIA CUDA GPU kernels and managing the host-side resources that run them. It lets developers write GPU programs in Rust instead of C++, using either direct thread-level programming or higher-level tile-based programming. Rust ownership and borrowing rules are carried across kernel launches, which is how the project aims to prevent data races and invalid memory use in parallel GPU code.

What are the main features of nvidia/cuda-rust?

The main features of nvidia/cuda-rust are: GPU Kernel Programming, Tile-Based GPU Kernel Programming, GPU Kernel Development, Ahead-Of-Time Compilers, Ownership & Borrowing, SIMT Thread-Level Programming, Ownership and Borrowing, Disjoint Tensor Partitions.

Which projects share features with nvidia/cuda-rust?

Projects with overlapping indexed features include: nvidia/isaac-gr00t. rust-gpu/rust-cuda — rust-cuda is a GPU programming framework and device compiler that allows for the development and execution of… nvidia/cuda-samples — This repository is a collection of reference implementations and programming examples for the CUDA Toolkit. It serves… infrasys-ai/aisystem — AISystem is a comprehensive AI full-stack infrastructure project covering the entire pipeline from AI chip… rust-lang/book — The Rust Programming Language Book is the official technical guide and educational resource for the Rust language. It… answerdotai/gpu.cpp — gpu.cpp is a lightweight C++ library for executing low-level general-purpose GPU computation across different hardware…