VectorWare、Rustのportable SIMDをNVIDIA GPUのワープにマップ

Christian Legnittoのコンパイラチームは、通常のRustの抽象化をGPUのスレッド、レーン、および非同期実行にわたって拡張している。

By · Published

Primary source: VectorWare

なぜ重要なのか

VectorWareはGPUプログラミングを、より馴染みのあるシステムコードの方向へと進めている。Portable SIMDはレーンレベルのギャップを埋めるが、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日、NVIDIA GPU上で動作するRustのportable SIMD APIをデモンストレーションし、創設者Christian Legnitto (@legneato)がGPUネイティブなアプリケーション向けに開発者に使ってほしいとしているプログラミングモデルの一部をさらに示した。技術的な投稿では、VectorWareは通常のcore::simdコードがGPUワープの32レーンにまたがる操作にコンパイルされる様子を示した。

この取り組みはVectorWareのスタックにある特定の穴を埋めるものだ。VectorWareは以前、RustのスレッドをGPUワープにマッピングし、別々のワープが独立してスケジュールされるCPUスレッドのように振る舞えるようにしていた。そのアプローチでは、開発者がGPU固有のプログラミングに踏み込まない限り、各ワープ内のレーンが十分に利用されないままだった。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.