Asayomu Tech
注目★★★★★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 の安定化を待つ必要があります。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。