Nvidia 宣布 Rust 原生 GPU 编程

Nvidia announces native GPU programming in Rust

Nvidia 正式推出 CUDA Rust,填补了 Rust 生态中无法直接编写 GPU 内核的最后一块拼图。此前,虽然 Nova Linux 驱动和 NVIDIA Dynamo 等核心组件已转向 Rust,但 GPU 内核仍需依赖 C++ 或 Python。现在,开发者可以通过 SIMT 和 Tile 两条路径,直接在 Rust 中编写高性能内核并原生编译为 PTX。SIMT 路径提供底层线程控制,而 Tile 路径则通过编译器自动优化数据块映射。借助 Rust 的内存安全特性,编译器能在编译期捕获大量并发数据竞争和别名错误,彻底改变 AI 基础设施的开发体验。

越来越多的底层系统是用 Rust 编写的,因为它能在编译时捕获整类错误,同时不牺牲性能。
  1. jacobgorm

    我非常讨厌 CUDA。一旦把这种专有的垃圾放进你的 C++ 代码库,就很难再把它剔除,最终你的代码要么被绑定在单一厂商上,要么陷入 #ifdef 的地狱,甚至两者兼有。

    编程 GPU 的最佳方式是正视现实:它们与 CPU 并非同一台机器。应该将内核写在单独的文件中,并像 Metal、OpenCL 和 D3D12 等那样手动启动它们。

    如今,我们甚至有了像 Triton 这样的领域特定语言(DSL),让内核编写比你在 Rust 中指望实现的任何方案都要顺手得多。

  2. loup-vaillant

    好吧,GPU 又向通用大规模并行机器迈进了一步。这很酷。

    不过,如果 GPU 厂商能开始给我们提供真正的用户手册,那就更酷了。我指的是那种真正的用户手册,当你手里只有那块金属时,它能告诉你如何使用它。这意味着要精确描述线协议、我们发送给 GPU 和从 GPU 获取的缓冲区的数据格式、我们能访问的核心指令集架构(ISA),以及相关的性能特征……

    换句话说,提供足够的信息,以便为任何操作系统编写最先进的驱动程序。那会很酷。

  3. dllu

    既然 NVIDIA 现在拥有 Hugging Face,而 Hugging Face 拥有用于 Rust 推理的优秀 Candle [1] crate,这似乎是迈向优质原生 Rust 内核的良好一步。

    [1] https://github.com/huggingface/candle

  4. lambdaone

    目前 Rust 背后的势头看起来绝对势不可挡,考虑到这一点,再加上 Rust 被 Linux 内核采用,以及 Amazon 和 Microsoft 对形式化验证软件的采用。

  5. winwang

    真的很令人兴奋,但这读起来更像是 Claude 写的,而不是 NVIDIA 过去帖子的一般风格。我不需要也不希望我的科技博客读起来像青少年小说。

  6. manyatoms

    这与 vectorware 相比如何?(https://www.vectorware.com/blog/)

  7. HexDecOctBin

    有人知道 Rust 的 std::autodiff 什么时候会稳定吗?假设这种 Rust 支持扩展到其它 GPU 厂商,自动微分(autograd)可能将是使用 Slang 而不是 Rust 的唯一理由了。

  8. michalsustr

    我不是 CUDA 程序员,但既然他们正在推出新 API,为什么一开始就让它不一致呢?:-/ 我指的是示例中的 a,b,c 与 z,x,y(输出元素的顺序不同)。

  9. soleveloper

    那么现在所有已经写好的内核都可以用 Rust 重写,并且拥有与 C++ 版本相竞争的性能吗?

    如果是这样,那意义就太大了。

    再加上下一步自然的发展——自定义代码生成,用于在没有 NVIDIA GPU 的情况下模拟 GPU 计算和内存。

  10. evaltoken

    NVIDIA 的这个方向很有趣。任何能让编写可靠的 GPU 代码变得不那么痛苦的事情,绝对都是好事。

同日更多故事

2026-09-16