エクサスケール計算機を想定した量子モデルシミュレーションに対する並列化・高速化
【研究キーワード】
高性能計算 / マルチCPU / 固有値計算 / LOBPCG法 / 並列計算 / マルチGPU / ハミルトニアン / LOPBCG法 / GPU / シェアードメモリ / エクサスケール計算機 / 強相関量子多体モデル
【研究成果の概要】
電子間に強い相関のある量子多体モデルであるハバードモデルのエネルギーを表現する行列の1つまたは複数の固有値およびそれに対応した固有ベクトルを高速に計算することを目標とし、固有値計算の反復法の1つであるLOBPCG法をマルチGPU環境向けに高速化・並列化した。このLOBPCG法は行列ベクトル積、ベクトルの内積、ベクトルの足し算等の線形演算の組み合わせで計算できる。行列ベクトル積の並列計算に関しては、並列計算で生じるデータの通信をCPUを経由させずGPU間で直接通信する方法を実装し、その有効性を確認した。
ベクトルの内積計算では、CPU側のメモリに格納しているベクトルデータをGPU側に移動する必要がある。また、ベクトルの足し算ではCPU側からGPU側に移動するだけでなく、計算で得られたベクトルをGPU側からCPU側に戻すことも必要である。そこで、これらのCPU・GPU間のデータ移動とGPUでの演算を同時に実行できるアルゴリズムを開発するとともに、LOBPCG法のアルゴリズムの性質を考慮し、ベクトルの計算をまとめることでCPU・GPU間のデータ移動の回数を削減する計算アルゴリズムを提案し、実際の計算から高速化が実現することを確認した。
また、LOBPCG法で複数の固有ベクトルを安定に計算するため、複数のベクトルの直交性を保ちながら反復計算を行う必要がある。これまでは計算量の多い修正グラムシュミット法を用いていたが、このアルゴリズムは大量のCPU・GPU間のデータ移動を必要とする。そこで、LOBPCG法のアルゴリズムの性質を考慮して少ないCPU・GPU間のデータ移動で直交化を実現するアルゴリズムを提案し、実際にマルチGPU環境でも有効に利用できることを確認した。
【研究代表者】
【研究分担者】 |
永井 佑紀 | 国立研究開発法人日本原子力研究開発機構 | システム計算科学センター | 副主任研究員 | (Kakenデータベース) |
大橋 洋士 | 慶應義塾大学 | 理工学部(矢上) | 教授 | (Kakenデータベース) |
町田 昌彦 | 国立研究開発法人日本原子力研究開発機構 | システム計算科学センター | 研究主席 | (Kakenデータベース) |
|
【研究種目】基盤研究(C)
【研究期間】2018-04-01 - 2023-03-31
【配分額】4,290千円 (直接経費: 3,300千円、間接経費: 990千円)