> ## Content Index
> Fetch the complete content index at: https://globalfeed.ai/llms.txt
> Use this file to discover other available public pages before exploring further.

# NVIDIA 推出 CUDA Rust：用 cuda-oxide 与 cutile-rs 编写 GPU 内核
- URL: https://globalfeed.ai/zh/nvidia-tui-chu-cuda-rust-yong-cuda-oxide-yu-cutile-rs-bian-xie-gpu-nei-he/
- Published: 2026-09-09T14:37:34.000Z
- Updated: 2026-09-09T14:37:34.000Z
- Description: 两个 NVlabs 开源项目原生编译 Rust GPU 内核，并借助所有权规则在编译期拦截别名错误。
- Author: GlobalFeed Editor
- Tags: NVIDIA, Rust, CUDA, x-nvidia, dil-zh, denetim-gerekli, video

NVIDIA 宣布推出 **CUDA Rust**，目标是让 Rust 成为编写 GPU 内核（kernel）的一等语言。此前 Rust 代码虽然可以启动 CUDA 内核，但内核主体通常仍需用其他语言编写。两个 NVlabs 开源项目填补了这一空缺：面向 SIMT 模型的 **cuda-oxide**，以及面向较新 Tile 模型的 **cutile-rs**。两者都原生编译 Rust 内核，并利用 Rust 的所有权规则在编译期拒绝别名（aliasing）错误。

## 两种编程模型

SIMT 是 CUDA C++ 与 numba-cuda 使用的模型：描述单个线程做什么，然后启动数千个线程。Tile 则描述一块数据瓦片做什么，线程映射和内存布局交给 Tile IR 编译器处理。NVIDIA 建议优先使用 Tile，需要显式控制线程与内存时再用 SIMT。计划中的跨语言互操作意味着选择 Rust 不会把开发者挡在 C++ 或 Python 之外。

cuda-oxide 是一个定制的 rustc 代码生成后端，把 `#[kernel]` 函数经由 Rust MIR、社区项目 Pliron IR 和 LLVM IR 一路降到 PTX，其余部分交给标准后端。NVIDIA 在 Pliron 之上编写了 GPU 方言。运行要求较重：Linux、计算能力 8.0 及以上的 GPU、CUDA 12.x 或更新版本、带 libclang 的 clang，以及固定的 nightly-2026-04-03 工具链。

cutile-rs 的抽象层级更高。每个 tile 块把内核主体当作单个逻辑线程在一个子张量上执行一次，实际动用多少 GPU 线程由编译器决定。要求更轻：计算能力 8.0 及以上、CUDA 13.3、稳定版 Rust 1.89 或更新版本、Linux，无需 nightly 也无需定制 LLVM。

## 安全性主张

在 SIMT 一侧，输出缓冲区类型为 `DisjointSlice<f32>`，让每个线程独占自己的元素，越界访问返回 `Option`，从而变成一个可处理的分支。把输出缓冲区当作自身输入传入时，SIMT 侧报 E0502 错误，Tile 侧报 E0382 错误。NVIDIA 认为 cutile-rs 的保证更强，因为所有权会随张量跨越启动边界。Tile 不暴露共享内存和线程索引，而 cuda-oxide 中的共享内存目前仍需 `unsafe`。

cutile-rs 已发布在 crates.io，并被 Hugging Face 的 Grout 推理引擎和 mistral.rs 采用；cuda-oxide 处于早期 alpha。NVIDIA 表示两个项目均处于 alpha 阶段，尚未确认可用于生产环境。技术细节见 [MarkTechPost 的报道](https://www.marktechpost.com/2026/09/08/nvidia-announces-cuda-rust-with-cuda-oxide-simt-and-cutile-rs-tile-for-compile-time-safe-gpu-kernels/?ref=globalfeed.ai)。