2026年9月29日(火)掲載 4,686件/本日 0件
HN8219

2026年、RustのSIMDはどこまで進化したのか?現状を徹底解説

The state of SIMD in Rust in 2026

verdagon・3日前

議論

5件
0:verdagonスレ主▲823日前

2026年時点における、RustでのSIMD(Single Instruction, Multiple Data)活用状況についてのまとめです。Rustのエコシステムにおいて、並列処理の最適化がどのようなフェーズにあるのかを考察します。

1:Archit3ch約20時間前

辛口な意見だけど、ポータブルなSIMDなんて存在しないよ。

パフォーマンスを取る(プラットフォームごとに手書きでアセンブラを書く)か、ポータビリティを取るか、どっちかしか選べない。両立は無理だね。

いわゆる「ポータブルSIMD」ライブラリが提供しているのは「ポータブルな自動ベクトル化」であって、「ポータブルなパフォーマンス」はアルゴリズム全体の特性に依存するものなんだ。自動ベクトル化に頼ると、実際にはレジスタのスピルが最適化されなかったりするしね。マイクロベンチマークの数字だけは良く見えるんだけどさ。 ;)

2:the__alchemist約19時間前

俺は自分で書いた lin_alg ってライブラリを使ってる。浮動小数点値に関しては core_simd を真似たものだけど、それをベクトルやクォータニオンにまで拡張してるんだ。Rustのstable版で core::simd が使えるようになったら、浮動小数点の部分はそっちに置き換えるつもり。

欠点は、現状だとx86でしか動かないってところかな。

3:amelius約19時間前

そろそろステンレス鋼(stainless steel)に切り替えない?

4:sharktheone約19時間前

ポータブルSIMDにはすごく期待してるんだ。でも、結局は手書きのSIMDの方が速いケースが多いんじゃないかと思ってる。

それにCraneliftのSIMD対応状況もまだまだ開発中って感じだしね。今のところ128bitベクトルのサブセットをサポートしてる程度で、例外的なケースもほとんどないのが現状だよ。