本研究では、Xeon Phi KNLプロセッサ向けに開発されたFW(Floyd-Warshall)アルゴリズムのコードを、x86プロセッサ向けに適応させた。
まず、元のコードに施された各種最適化手法(マルチスレッド化、MCDRAM活用、SIMD命令の活用、データアラインメント、分岐予測、ループアンロール、スレッドアフィニティ設定など)を、x86プロセッサ向けに調整した。
次に、新たな並列化手法(Opt-9)を提案した。従来のFWBアルゴリズムでは、各ラウンドの計算フェーズ間で同期が必要だったが、Opt-9ではこの同期を緩和し、各フェーズ内の並列性を高めることで、さらなる性能向上を実現した。Opt-9では、セマフォとコンディション変数の2つの同期メカニズムを検討した。
実験結果から、x86プロセッサ上でも、元のコードに施された最適化手法が有効であることが確認された。特に、SIMD命令の活用が最も大きな性能向上をもたらした。また、提案したOpt-9手法は、従来手法に比べて最大23%の性能向上を達成した。
To Another Language
from source content
arxiv.org
Deeper Inquiries