研究実績の概要 |
本年度は、JAXAで研究開発中の粒子系シミュレーションプログラムの(1)OpenACC/OpenMPを用いた短TAT(※)なGPU,マルチコアCPU実装の評価・実証、(2) GPUクラスターでの大規模並列実行を行った。(※短TAT:新規物理モデルの実装から計算結果を得るまでのシミュレーション全体のターンアラウンドタイムを短縮する手法のこと。研究目的の一つ) (1)については、昨年度よりも複雑かつ実用的なデータ構造(AoS形式)に改良されたバージョンを対象として、短TATな開発手法の評価と実証を行った。GPU, マルチコアCPUへの実装には、昨年度の議論を元に商用のディレクティブ型API(OpenACC,OpenMP)を用いた。ディレクティブを用いることにより、半年程度で大まかなGPUとマルチコアCPUへの実装と実行時間の評価が完了した。進捗状況に示す通り、AoS,SoA形式のどちらでもOpenACC+GPUを用いることが現状では最も短TATな開発手法であることが示せた。 (2)については、東京大学 情報基盤センターのReedbushスーパーコンピュータシステム(RB-H)を利用し、2GPUから128GPUまでの弱スケーリングの測定、各粒子数でのプロセス間通信のパターンの把握、大規模並列実行の実用化への課題の洗い出しを行った。 研究成果の対外発表については、国内研究会1本、国際学会3本(ポスター:2, 口頭:1)を行った。また、大規模並列化の実績が評価され、2017年度 RB-H 大規模HPC チャレンジ、2018年度 学際大規模情報基盤共同利用・共同研究拠点(JHPCN) 萌芽型共同研究課題に採択された。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
1: 当初の計画以上に進展している
理由
本年度の当初計画であるGPUでの更なる高速化(短TAT化と実装)とFPGAへの最適化は、以下の通り当初の計画以上に進展していると考える。 GPUでの更なる高速化については、対象プログラムのデータ構造が改良された(実用性の観点から、SoA形式からAoS形式へ変更)ため、ほぼ新規に実装する必要があった。実装に必要な期間は、OpenACCとOpenMPを用いて半年程度である程度のGPU,マルチコアCPUが完了した。また、性能評価として昨年度のSoA形式との実行時間の比較を行ったところ、マルチコアCPUでは90%ほど実行時間が伸びてしまったが、GPUでは35%ほど実行時間が短縮されるという結果が得られた。これらのことから、AoS,SoA形式のどちらでもOpenACC+GPUを用いることが現状では最も短TATな開発手法であると示した。さらに、2~128GPUでの弱スケーリングの測定を始め、大規模並列化時の実用を想定した問題点を示すことができたため、順調に進展していると考える。弱スケーリングに関しては、計算上のボトルネックの一つである粒子密度の計算時間は(通信がないため)ほぼ線形にスケールしたが、プロセス間通信にかかる時間が想定を超えて増加してしまった。例えば、位置と速度の通信は2プロセスから32プロセスで6倍以上増加している。 FPGAへの最適化手法の考案も行った。具体的には、ボトルネックとなる粒子密度の計算を粒子登録法と時空間ブロッキングを用いることでストリーム計算に適した形に変換する。実装と評価は2018年度を予定している。
|