Nehalemアーキテクチャ向けDGEMMの高速化
NECでは、Intel Nehalemアーキテクチャを最大限利用する技術獲得のために、数値計算分野で頻繁に利用される行列積ルーチンDGEMMの高速化を行いました。DGEMMはベンチマークとして利用される有名なサブルーチンで、多くの数値計算ライブラリに実装されています。Intel製アーキテクチャ上では、特にIntel MKLやGotoBLASが最高峰の性能を出すことが知られています。NECでは、Intel製アーキテクチャ上でも、Intel MKLやGotoBLASとほぼ同等の単一コア性能を出すことに成功しました。
性能強化
キャッシュブロッキング
キャッシュの階層構造に合わせて行列データをブロック化しました。このとき、最適なサイズを調査しました。
アセンブラアルゴリズム開発
キャッシュラインを最大限利用するためにSSE3を使ったアセンブラアルゴリズムを実装しました。
アセンブラチューニング
Nehalemアーキテクチャに合わせた、アセンブラ命令レベルのチューニングを行いました。
プリフェッチ
効果的なプリフェッチ距離を調査し、プリフェッチ命令を挿入しました。
- *※Intelは、Intel Corporationの商標または登録商標です。