VectorWare 将 Rust 的可移植 SIMD 映射到 NVIDIA GPU 的线程束

Christian Legnitto 的编译器团队正在将普通的 Rust 抽象扩展到 GPU 线程、lane(通道)和异步执行。

By · Published

Primary source: VectorWare

为何重要

VectorWare 正在将 GPU 编程推进到更接近熟悉的系统代码。Portable SIMD 填补了 lane 级别的空白,尽管 Rust 的 API 和 VectorWare 的编译器仍处于实验性阶段。

The translation and efficient execution of Rust's portable SIMD abstractions onto NVIDIA GPU warps (Flat modernist vector illustration in the spirit of mid-century corporate annual reports — bold simple shapes, textured overprint)

VectorWare 在 8 月 10 日演示了 Rust 的 portable SIMD API 在 NVIDIA GPU 上运行,为创始人 Christian Legnitto (@legneato) 提供了他希望开发者用于 GPU 原生应用的编程模型的又一部分。在 一篇技术帖子 中,VectorWare 展示了普通的 core::simd 代码如何被编译成分布在 GPU warp 的 32 条通道上的操作。

这项工作填补了 VectorWare 技术栈中的一个特定空白。此前 VectorWare 将 Rust 线程映射到 GPU warp,允许不同的 warp 表现得像独立调度的 CPU 线程那样。除非开发者深入使用特定于 GPU 的编程,否则这种方法会导致每个 warp 内的通道被低效使用。portable SIMD 为 Rust 代码提供了一种熟悉的方式来访问这些通道。…

When you purchase through links in our articles, we may earn a small commission. This doesn’t affect our editorial independence.

Reader comments

Conversation for this story loads after sign-in.