用 Rust 可移植 SIMD 直接在 GPU 上跑数据并行:warp 就是一块向量硬件
来源: vectorware.com — 2026-09-04
概述
VectorWare 这家「GPU 原生软件公司」宣布里程碑:Rust 的可移植 SIMD(core::simd)成功在 GPU 上运行。核心洞察是「GPU 的 warp 本身就是一块向量硬件」——SIMT 的一条指令对 32 个 lane 同时操作,与 SIMD 语义一致。于是同一份 Simd 代码,在笔记本上编译成 x86-64 的 SIMD,在 GPU 上则编译成 warp 级操作,源码完全不用改。他们还给这套映射建了类型化 IR,支持 CPU 参考解释器做差分测试。
核心要点
- 洞察:GPU warp 就是可移植 SIMD 要适配的另一块向量硬件,SIMT 本质即 SIMD
- Simd<i16,32> 给 warp 每个 lane 一个元素,一次加法就是一条 warp 指令
- 同一份 core::simd 源码在 CPU(x86-64/Arm)与 GPU 上都成立,无需改动
- reductions 用 warp shuffle,mask 的 any/all 落到 vote/ballot,天然对齐
- 局限:portable_simd 仍不稳定,向量宽不等于 32/64 lane 时会有空转
金句
A warp is a wide vector unit and a portable SIMD vector maps onto that unit directly. We are making GPUs behave like a normal Rust platform.
👍 0
👎 0
返回 Lobsters 首页