Porting a state-of-the-art communication avoiding Krylov subspace solver on P100 GPUs
最先端省通信クリロフ部分空間法ソルバのP100GPUへの移植
Ali, Y.*; 伊奈 拓也*; 小野寺 直幸 ; 井戸村 泰宏
Ali, Y.*; Ina, Takuya*; Onodera, Naoyuki; Idomura, Yasuhiro
圧力ポアソン方程式のクリロフ部分空間法ソルバは大規模多相CFDシミュレーションにおいて全計算コストのを占める。このポアソンソルバを加速するためにブロックヤコビ(BJ)前処理付きチェビシェフ基底共役勾配法(CBCG)ソルバをP100GPUに移植した。CBCGソルバはBJ前処理, 疎行列ベクトル積(SpMV), 非正方行列積から構成される。本研究ではスレッド・ブロック並列処理と効率的なコアレスドロードのためにBJ前処理を再設計し、非正方行列積にBatched GEMMを適用した。上記最適化により全ての主要カーネルでルーフラインに基づく理論性能のを達成し、CPUノードに比べて一桁以上のノード性能向上が得られた。
Krylov subspace solvers for the pressure Poisson equation occupy of the total computing cost in extreme scale multi-phase CFD simulation. To accelerate the Poisson solver, we port a Chebyshev Basis communication-avoiding Conjugate Gradient (CBCG) solver with block Jacobi (BJ) preconditioning on P100 GPUs. The CBCG solver consists of BJ preconditioning, Sparse Matrix Vector product (SpMV), and Tall-Skinny matrix operations. We re-design the BJ-preconditioner for thread-block parallelization and efficient coalescing data load, and apply batched gemm to the Tall-Skinny matrix operations. By these optimization, all main kernels achieved of the theoretical performance based on roofline estimation, and an order of magnitude speedup of the single node performance was obtained against CPU nodes.