HPCI戦略プログラム分野5では素粒子・原子核・宇宙分野の研究者、計算機科学の研究者らからなるユーザー支援チームを組織し、分野内の情報共有、計算の並列化や最適化に関するユーザーへのアドバイス、ユーザー支援を行なっています。最新のユーザー支援事例報告をご紹介いたします。
計算の概略 | 格子理論の摂動論のための疎行列係数連立方程式の直接解法について |
---|---|
使用言語 | FORTRAN |
問題 | 格子QCDの摂動論でほぼツリーレベルのクォーク伝搬関数を大量(空間運動量毎に)に解こうとしています。 最大 50000×50000 ぐらいのディラック演算子に対応する疎行列を係数に持つ連立方程式を、大量に(最大64^3=262144個=運動量の違い)解く必要が有ります。 運動量については完全独立なので MPIで並列化しています。 1ノード内では 50000×50000の疎な係数行列の連立方程式を MPI並列で割った後の部分についてそれなりの個数解きます。 密行列直接法(LAPACK, Intel MKL)では、時間がかかりそうです。 現在、疎行列の直接法で複素係数非対称疎行列に対応しているSuperLUが入手のハードルが低くそれを用いています。 SuperLU を1thread で試したところ係数行列の次元が大きくなると MKL LAPACKにまさるようです。 OpenMP(multithread)で更に高速化しようとしていますが、SuperLU_MT がうまく動きません(時々変な答えが出ます)。 コンパイルに失敗しているのかもしれません。 SuperLU(single thread)を無理無理複数の問題を multithread で同時に解くことも試みましたが、therad-safeで無いのか動作成功していません。 疎行列の直接法で1ノードで multithread対応の速い奴はどのようなものがありますでしょうか? 複素係数非対称疎行列です。 |
解決法、参考情報 | 詳しくはこちらをご覧ください(PDF) |
関連リンク