この記事はフューチャーアーキテクト Advent Calendar 2015の12/5です。 Rustとは、Mozillaが開発しているプログラミング言語です。 Rustは低レイヤ用のシステムプログラミング言語ですが、クロージャーやトレイトなどの今どきな機能を使えるという特徴があります。 最近、RustでもSIMDを使えるというのを知りました。 なので今日はRustのSIMDプログラミングを説明します。 SIMD SIMD(Single Instruction Multiple Data)とは、複数のデータに対して同じ命令を適用する計算機構のことです。IntelのAVXやGPGPUの並列コンピューティングがこれに該当します。下にイメージ図を書きます。 上図ではaとbの同インデックスの値を加算し、それぞれの結果をcに格納しています。このような計算をまとめて実行するのがSIMDです。 Inte