GPU optimization of lattice Boltzmann method with local ensemble transform Kalman filter
格子ボルツマン法および局所アンサンブル変換カルマンフィルタのGPU最適化
長谷川 雄太
; 今村 俊幸*; 伊奈 拓也
; 小野寺 直幸
; 朝比 祐一
; 井戸村 泰宏

Hasegawa, Yuta; Imamura, Toshiyuki*; Ina, Takuya; Onodera, Naoyuki; Asahi, Yuichi; Idomura, Yasuhiro
格子ボルツマン法(LBM)に基づく数値流体力学シミュレーションおよび局所アンサンブル変換カルマンフィルタ(LETKF)によるアンサンブルデータ同化をNVIDIA A100 GPU搭載スパコンに対して実装し、および最適化した。LBMとLETKFの協働のため、データ転置通信を実装し、LETKFのデータ依存性に基づいて計算,ファイルI/O、および通信のオーバーラップにより通信を最適化した。2次元等方乱流,アンサンブル数
,格子点数
の条件において、通信を最適化した実装は、LETKFを並列化しない単純な実装に対して3.85倍の高速化を達成した。LETKFの主要な計算カーネルは
の実対称密行列の固有値分解であり、その計算のため、バッチ形式固有値分解ソルバEigenGを新たに開発した。EigenGによるバッチ形式固有値分解は、既存ライブラリであるcuSolverに対して64倍の高速化を達成した。
The ensemble data assimilation of computational fluid dynamics simulations based on the lattice Boltzmann method (LBM) and the local ensemble transform Kalman filter (LETKF) is implemented and optimized on a GPU supercomputer based on NVIDIA A100 GPUs. To connect the LBM and LETKF parts, data transpose communication is optimized by overlapping computation, file I/O, and communication based on data dependency in each LETKF kernel. In two dimensional forced isotropic turbulence simulations with the ensemble size of
and the number of grid points of
, the optimized implementation achieved
speedup from the naive implementation, in which the LETKF part is not parallelized. The main computing kernel of the local problem is the eigenvalue decomposition (EVD) of
real symmetric dense matrices, which is computed by a newly developed batched EVD in EigenG. The batched EVD in EigenG outperforms that in cuSolver, and
speedup was achieved.