[目次] [1ページ目に戻る] [前ページ] [次ページ] [質疑応答]


(4/7)
4.LAPACKルーチンでの評価

4.1オリジナルとの比較

 BLASルーチンに対するチューニングの効果を測るために、LAPACKの一般行列の連立一次方程式を解くルーチンDGESVについてオリジナルとの比較をした。図14がベンチマーク結果である。測定はN × Nの係数行列で一組の方程式を解く場合について行い、横軸はNの大きさ、縦軸は演算量を[2]として求めたMFLOPS値である。なお、LAPACKが用いるブロッキングアルゴリズムのブロックサイズは、1とデフォルトの値64を用いた。
 図14のOriginalがオリジナルのBLASを使った結果で、Tuningがチューニング後のBLASを使った結果である。
 OriginalとTuningを比べると、OrignalではNが最大ベクトル長2048要素で頭打ちとなり最大ベクトル演算性能の半分も得られていないが、チューニングの結果、Nが大きくなるにしたがって性能があがる傾向にある


図14.連立一次方程式のベンチマーク結果

4.2 SSLIIとの比較

 LAPACKでのチューニングの効果を知るために、メーカー開発のベクトル版SSLIIの連立一次方程式ルーチンDVLAX(V13L10+PTF95111)を同じ条件で測定した結果が図14のSSLIIである。  SSLIIは、Nが2000で約2.0GFLOPSに達している。一方、Tuningは、Nが2000ではSSLIIの約50パーセントの性能しか得られていない。しかし、Nが大きくなるにつれてこの性能差は減少する傾向にあり、この図でのNの最大7000で約83パーセントの性能が得られた。
 SSLIIとTuningの性能差の原因としては、SSLIIのルーチンがLU分解ルーチンと解を求めるルーチンの二つから構成されているのに対して、LAPACKのルーチンがこの二つに加え、演算の基本部分をBLASルーチンの呼出しで行うという構造の差が考えられる。しかし、この図からも明らかなようにNが大きくなれば、実際の演算時間に比べてBLASルーチンの呼出しに必要なコストが小さくなる。したがって、この構造の差は、あまり問題にならないと考える。


[目次] [1ページ目に戻る] [前ページ] [次ページ] [質疑応答]