Iterative methods with mixed-precision preconditioning for ill-conditioned linear systems in multiphase CFD simulations
多相CFD解析における悪条件連立一次方程式に対する混合精度前処理付き反復開法
伊奈 拓也*; 井戸村 泰宏
; 今村 俊幸*; 山下 晋
; 小野寺 直幸

Ina, Takuya*; Idomura, Yasuhiro; Imamura, Toshiyuki*; Yamashita, Susumu; Onodera, Naoyuki
多相熱流動解析コードJUPITERにおける前処理付き共役勾配法(P-CG)ソルバおよびマルチグリッド前処理付き共役勾配法(MGCG)ソルバに対して反復改良(IR)法に基づく新しい混合精度前処理を開発した。このIR前処理では全てのデータを半精度で格納してメモリアクセスを削減するが、全ての演算処理を単精度で行う。このハイブリッド半精度/単精度実装は単精度処理と同様の収束特性を維持しつつ、計算性能は半精度処理に近くなる。開発ソルバを富岳(A64FX)で最適化し、JUPITERの悪条件行列に適用した。新しいIR前処理を用いたP-CGソルバとMGCGソルバは8,000ノードまで良好な強スケーリングを示し、8,000ノードにおいて、これらのソルバはOakforest-PACS(KNL)における従来ソルバに比べてそれぞれ4.86倍および2.39倍に高速化された。
A new mixed-precision preconditioner based on the iterative refinement (IR) method is developed for preconditioned conjugate gradient (P-CG) and multigrid preconditioned conjugate gradient (MGCG) solvers in a multi-phase thermal-hydraulic CFD code JUPITER. In the IR preconditioner, all data is stored in FP16 to reduce memory access, while all computation is performed in FP32. The hybrid FP16/32 implementation keeps the similar convergence property as FP32, while the computational performance is close to FP16. The developed solvers are optimized on Fugaku (A64FX), and applied to ill-conditioned matrices in JUPITER. The P-CG and MGCG solvers with the new IR preconditioner show excellent strong scaling up to 8,000 nodes, and at 8,000 nodes, they are respectively accelerated up to 4.86
and 2.39
from the conventional ones on Oakforest-PACS (KNL).