AVXを用いた倍々精度疎行列ベクトル積の高速化
Download PDF
Citation (bibtex)
@article{hishinuma2013hpcs,
title={{AVX を用いた倍々精度疎行列ベクトル積の高速化}},
author={菱沼利彰 and 藤井昭宏 and 田中輝雄 and 長谷川秀彦},
journal={ハイパフォーマンスコンピューティングと計算科学シンポジウム論文集},
volume={2013},
pages={23--31},
year={2013}
}
Abstract
計算性能の向上に伴い,高精度による計算が多くの場面で可能となっている.4倍精度を効率良く実現する手法として,2つの倍精度変数で1つの4倍精度変数を表現する倍々精度演算がある.本研究では,疎行列とベクトルの演算に使われる基本演算をAVX命令を用いて高速化し,性能を決定するパラメタについて分析を行うことにより,倍々精度演算をAVXで行う際の効果を示した.AVX命令を用いた場合,同時演算数の増加,3オペランド化によるレジスタ退避,復元処理の減少などの効果が大きく,SSE2の性能と比べて,キャッシュに収まる範囲のベクトル間の演算では約1.7から2.3倍の性能となったが,キャッシュに収まらない場合は,キャッシュアクセス,メモリアクセスが大きなボトルネックになることがわかった.倍精度の疎行列と倍々精度のベクトルの積では,約1.1から1.9倍の性能となり,メモリアクセスはボトルネックとならず,疎行列の1行あたりの非零要素の数が性能に大きな影響を与えていることがわかった.これらの結果から,倍々精度の疎行列ベクトル積の性能を予測する1つの指標を導出した.