fortran66のブログ

fortran について書きます。

Intel のコンパイラで配列間接参照のベクトル化がようやく可能に

インテルのウェブセミナーの資料を見ていたところ、ようやくインテルコンパイラでも配列の間接参照がSSEやAVX等でベクトル化されるようになるようです。

f:id:fortran66:20150416030450p:plain
https://software.intel.com/sites/default/files/managed/80/06/New-Vectorization-Features-of-the-Intel-Compiler-slides.pdf

これは大型計算機でいえばようやく1980年代の水準に追いついたことに相当します。今までは'80年代のスーパーコンピュータ用のプログラムをそのまま使うとベクトル化されなくて性能が出なかったり注意が必要でしたが、これからはそのままで使えるかもしれません。配列の間接参照は、スパース行列の計算などでよく出てきます。

New Vectorization Features of the Intel Compiler | Intel® Developer Zone