注目★★★★★Hacker News
Rust の SIMD が GPU で動作、CPU と同じコードで実行可能に
30秒で把握
- 1VectorWare が Rust portable SIMD を GPU で実装・同一ソースで CPU と GPU 両対応
- 2GPU ワープの 32 レーンと Simd 型を 1:1 マッピング・演算全体が warp 命令に最適化
- 3既存 CPU 向け SIMD ライブラリが再コンパイル不要で GPU 実行でき再利用性が向上
要約
VectorWare は Rust の portable SIMD (core::simd) を GPU で動作させることに成功し、CPU と GPU で同じコードが実行できる仕組みを実装した。GPU の SIMT (Single Instruction, Multiple Thread) モデルはワープの 32 レーンが 1 つの命令を並列実行する点で SIMD と本質が同じであり、Simd<T, N> 型を各レーン上に配置することで直接マッピングが可能になった。加算・乗算・比較などの要素ごとの演算、クロスレーンシャッフル、マスク操作はすべてワープシャッフル命令に対応し、CPU と GPU で統一された抽象化を提供する。ワープ幅より大きなベクトルの場合は型システムに IR (中間表現) を符号化し、無効なプログラムはコンパイル時に検出される。この実装により CPU ライブラリが GPU でも再コンパイル不要で実行でき、GPU プログラミングの敷居が大きく下がる。
あなたへの影響
GPU ネイティブな Rust コードの実装が可能になり、SIMD ライブラリや既存 CPU コードの GPU 移植が現実的になります。
推奨:ただし portable SIMD はまだ nightly 版で不安定なため、本番運用への採用には Rust の安定化を待つ必要があります。