注目★★★★★Lobsters
Rustのportable SIMD、GPUのwarp命令へ直結
30秒で把握
- 1VectorWareがRust portable SIMDをGPUのwarp命令へ対応付け
- 2Simd<T, N>で演算・mask・reduction・shuffleをGPU実行
- 3CPUとGPUで同一ソースを共有、portable SIMDはnightly限定
要約
VectorWareは、Rustのportable SIMD(core::simd)をGPU上で実行できる実装を公開した。Simd<T, N>をGPUのwarpに対応付け、NVIDIAでは32レーンへ要素を割り当て、演算・比較・マスク・reduction・lane shuffleをwarp命令へ変換する。同じRustソースをCPUとGPUで実行でき、GPU固有の注釈や型を追加せずに既存のportable SIMDコードをGPU実行の候補にできる。NVIDIAを対象に進めているが、実装のIRはAMD wavefrontやVulkan subgroupにも対応可能な設計だ。一方、portable SIMDはnightly限定で、ベクトル幅がwarp幅と一致しない場合は空きレーンや追加命令が生じる。
あなたへの影響
RustでCPU向けportable SIMDを使うチームは、GPU移植の候補コードを選定し、nightly環境で性能とコンパイラ互換性を検証するとよい。
推奨:ベクトル幅とGPUのwarp幅が一致しないと効率が下がる可能性があるため、実行形状とreductionのコストを測定する必要がある。