研究実績の概要 |
計算科学アプリケーションにおいて頻繁に現れるランダムアクセス・データレカレンスを含む計算は近年の計算機アーキテクチャとの親和性が低く、多くのアプリケーションの性能ボトルネックとなっている。本研究ではこのようなランダムアクセス・データレカレンスを含むカーネルを対象に、実行パターンに含まれる先見情報を活用し対象とする計算機アーキテクチャの特性を踏まえた計算手法を開発することでCPU/GPUを含む多種の計算機アーキテクチャにおいて高速化を目指している。 本年度においては、昨年度実施した富岳のA64FX CPU, Intel Xeon CPU, NVIDIA GPUに加え、AMD GPUにおける性能評価を進めると共に、ランダムアクセスが主体となる疎行列ベクトル計算自体を連続データアクセスが主体となるデータ駆動型アルゴリズムに変換する開発・GPU実装を実施した。まず、ランダムアクセスを多く含むカーネルの一例として、非構造格子を用いた確率有限要素法における疎行列ベクトル積カーネルに注目し、AMD GPUにおいて性能評価を実施した。当該GPUは比較的キャッシュサイズが小さいため、疎行列計算における節点の並び替えが性能に大きく影響すること、また、AMD GPU特有の倍幅単精度演算器を使うことでさらに高い性能が得られることがわかった。次に、時系列の地震シミュレーションで用いられるランダムアクセスが主体となる疎行列ソルバーにおいて、連続データアクセスが主体となるデータ駆動型手法を用いて高精度な初期解を予測することで、反復法ソルバーの反復数を減らしランダムアクセス計算を削減・計算を高速化する方法をGPU上で開発した。データ駆動型手法と多数ケースの同時計算によるランダムアクセスの削減により、GPUを使った従来手法と比べて8.6倍の高速化を得た。
|