Rust の SIMD が GPU 上で動作可能に

मूल शीर्षक: Rust SIMD on the GPU

यह क्यों महत्वपूर्ण है

GPU プログラミングに Rust の標準的な SIMD 抽象化を適用できることで、CPU・GPU 共通コードによる高性能アプリ開発の可能性が広がる。

VectorWare 社は2026年8月10日、Rust の portable SIMD(core::simd)を GPU 上で動作させることに成功したと発表した。これにより、開発者は CPU と同じ Rust の抽象化を使って GPU の並列処理能力を活用できるようになる。

VectorWare 社は、自社を「GPU ネイティブの最初のソフトウェア企業」と位置付け、今回 Rust の portable SIMD を GPU 上で正常に動作させるマイルストーンを達成したと発表した。

これまで同社は Rust のスレッド(std::thread)を GPU の warp にマッピングすることで GPU 上での並列処理を実現していたが、各スレッド内のレーンレベルの並列性は活用できていなかった。CPU において、スレッド内の並列性を担うのが SIMD であり、Rust の portable SIMD(core::simd)は Simd<T, N> という汎用型を提供し、アーキテクチャごとに個別実装を書かずに済む抽象化層を実現している。

GPU は NVIDIA が SIMT(Single Instruction, Multiple Thread)と呼ぶモデルで動作しており、1つの warp が32レーンに対して同一命令を発行する。これは SIMD の「1命令で複数データを処理する」概念と本質的に同等であり、Simd<i16, 32> のような型は warp の32レーンに直接マッピングされる。例えば、CPU 上では vpaddw 命令にコンパイルされる加算が、GPU 上では add.s16 命令として各レーンで並列実行される。

これにより、CPU のスレッド → SIMD レーン、GPU の warp → warp レーンという並列階層が core::simd によって統一的に扱えるようになった。portable SIMD は core クレートに属するため、以前 GPU に移植した std サポートすら不要という利点もある。

स्रोत

vectorware.com — मूल लेख पढ़ें →