HeadlinesBriefing favicon HeadlinesBriefing.com

CUDA Rust:GPU 内核的两条路径

Hacker News •
×

2026 年 9 月,NVIDIA 宣布将大力投入 Rust 中的原生 GPU 编程。CUDA C++ 和 CUDA Python 是成熟的企业级工具链,NVIDIA 将在 2027 年及以后持续发展和完善 CUDA Rust。AI 的系统层涵盖推理引擎、服务基础设施、驱动程序和智能体运行时,并且不断变化。其中越来越多的部分是用 Rust 编写的。NVIDIA 也是这一转变的一部分。Nova Linux 驱动程序是用 Rust 编写的。NVIDIA Dynamo 构建在 Rust 核心之上。NVTX 拥有 Rust 绑定。

GPU 内核是个例外。你可以从 Rust 启动内核,但内核本身通常必须用另一种语言编写。NVIDIA CUDA Rust 弥补了这一差距。GPU 内核可以用 Rust 编写,并原生编译为 PTX,而不是对来自其他地方的代码进行封装。

使用 Rust 有两条路径,与 CUDA 本身拥有的两条路径相对应。SIMT 是你在 CUDA C++ 或 numba-cuda 中已经使用的模型。Tile 是一种更新的编程模型,在 C++ 和 Python 中也可用。当你选择要基于哪一个进行构建时,请优先选择 Tile。编译器决定 tile 如何映射到每种架构,因此你的源代码不会编码特定于架构的选择,而当你需要那种控制时,可以降到 SIMT。

下面是每条路径上的同一个内核,它对 1,024 个浮点数执行逐元素加法。SIMT 路径:cuda-oxide 是一个自定义的 rustc 代码生成后端。它拦截编译过程,将 #[kernel] 函数经由 Rust MIR、社区 Pliron IR 框架和 LLVM IR 一路路由到 PTX。

关键实体:公司:NVIDIA、NVlabs

FAQ:CUDA Rust 中 SIMT 和 Tile 有什么区别?

SIMT 是你在 CUDA C++ 或 numba-cuda 中已经使用的模型。Tile 是一种更新的编程模型,在 C++ 和 Python 中也可用。当你选择要基于哪一个进行构建时,请优先选择 Tile。编译器决定 tile 如何映射到每种架构,因此你的源代码不会编码特定于架构的选择,而当你需要那种控制时,可以降到 SIMT。

FAQ 问:CUDA Rust 中 SIMT 和 Tile 有什么区别?

FAQ 答:SIMT 是你在 CUDA C++ 或 numba-cuda 中已经使用的模型。Tile 是一种更新的编程模型,在 C++ 和 Python 中也可用。当你选择要基于哪一个进行构建时,请优先选择 Tile。编译器决定 tile 如何映射到每种架构,因此你的源代码不会编码特定于架构的选择,而当你需要那种控制时,可以降到 SIMT。