Repolode
NVIDIA

NVIDIA/cuda-rust

NVIDIA 推出的 Rust CUDA 平台,提供主机端运行时及 SIMT、Tile 两种 GPU 内核编程模型。

Star
4,000
Fork
362
未关闭 Issue
234
最近提交
昨天

这是什么?

CUDA Rust 让 Rust 开发者能够直接驱动 NVIDIA GPU。它包含基于 CUDA driver API 的主机端 crate,提供上下文、流、设备内存缓冲区、事件以及可组合的惰性异步操作,并配有两种设备端内核编程模型。

cuda-oxide 面向传统的 SIMT 模型,开发者编写逐线程代码,并自行管理线程、线程块和共享内存。它是一个自定义的 rustc 代码生成后端,将 Rust 提前编译为 PTX。cutile-rs 面向 Tile 模型,内核以多维张量的整块 tile 为单位进行运算,由编译器决定如何将工作映射到具体架构上,它是一个 proc-macro 插件,在首次启动时即时编译。

两种模型都把 Rust 的所有权规则延伸到 GPU 启动边界:可变缓冲区在启动前被划分为互不重叠的部分,不可变缓冲区则可以共享。项目目前处于早期研究阶段,功能尚不完整,API 可能发生变化。

核心功能

  • 01提供 Rust 版主机端驱动绑定,包括上下文、流、设备内存和事件。
  • 02SIMT 内核模型,支持显式线程与线程块索引,提前编译为 PTX。
  • 03Tile 内核模型,基于张量分块运算,首次启动时即时编译。
  • 04在内核启动边界上对设备缓冲区应用类似所有权的借用规则。
  • 05两种模型的内核可在同一个流上共享设备缓冲区协同运行。

适用场景

  • 用 Rust 编写自定义 GPU 内核,需要精细控制线程、warp 和共享内存时。
  • 将密集张量或数值计算表达为 tile 运算,由编译器处理调度细节。
  • 基于共享运行时 crate 构建可组合的异步 GPU 计算流程。

收录于专题

标签

#gpu#cuda#rust#high-performance-computing#nvidia#gpu-programming#async#compiler-backend#heterogeneous-computing#programming-languages

常见问题

cuda-rust 是什么?
NVIDIA 推出的 Rust CUDA 平台,提供主机端运行时及 SIMT、Tile 两种 GPU 内核编程模型。 CUDA Rust 让 Rust 开发者能够直接驱动 NVIDIA GPU。它包含基于 CUDA driver API 的主机端 crate,提供上下文、流、设备内存缓冲区、事件以及可组合的惰性异步操作,并配有两种设备端内核编程模型。
cuda-rust 可以免费使用吗?用的什么许可证?
cuda-rust 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
cuda-rust 还在维护吗?
活跃维护中。cuda-rust 最近一次提交是在 2026年11月6日。
cuda-rust 适合用来做什么?
用 Rust 编写自定义 GPU 内核,需要精细控制线程、warp 和共享内存时。 将密集张量或数值计算表达为 tile 运算,由编译器处理调度细节。 基于共享运行时 crate 构建可组合的异步 GPU 计算流程。
在哪里获取 cuda-rust?
源代码和安装说明在 GitHub 上:https://github.com/NVIDIA/cuda-rust

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目