RustのSIMDがGPUで動作可能に—VectorWareが実現
Judul asli: Rust SIMD on the GPU
Mengapa Ini Penting
GPUネイティブRust開発の実用性が高まり、クロスプラットフォームな高性能演算の実現に近づく
VectorWareは2026年8月10日、RustのポータブルSIMD(core::simd)をGPU上で動作させることに成功したと発表した。GPUネイティブプログラミングの新たな節目となる。
VectorWareは、Rustの標準ライブラリに含まれるポータブルSIMD機能「core::simd」をGPU上で初めて動作させることに成功したと発表した。同社はこれを「世界初」と位置づけている。
従来、RustでSIMDを使用するにはcore::archの命令セット固有のintrinsic(例:x86-64の_mm256_add_psやArmのvaddq_f32)を利用する必要があり、アーキテクチャごとに個別実装が必要だった。一方、ポータブルSIMDはSimd<T, N>という汎用型を提供し、一度記述したコードを各CPUのベクタ命令に自動変換する。
VectorWareはGPUをポータブルSIMDの対象ハードウェアとして機能させることに成功した。GPUが採用するNVIDIAのSIMTモデルは「1命令・複数スレッド」方式であり、1ワープ内の32レーンが同一命令を各自のデータに対して実行する。この構造はCPUのSIMDと本質的に等価であるため、Simd<i16, 32>型は各レーンに1要素を割り当て、加算命令1つで全32レーンが同時演算を行う。
同社は以前の取り組みでstd::threadをGPUワープにマッピングしており、今回のcore::simd対応によりスレッド内の並列処理階層が完成した。core::simdはstdではなくcoreに含まれるため、GPU向けのstdサポートを必要としない点も利点として挙げられている。