IMEXLBM: A portable lattice Boltzmann solver based on the Kokkos library

ORAL

Abstract

An open-source, performance-portable, lattice Boltzmann-based solver, IMEXLBM, is developed for heterogeneous high performance computing (HPC) platforms. Written in C++, this solver is enabled with the Kokkos and message-passing interface (MPI) libraries whereby, we achieve strong scalability on multi-node, GPU-based HPC systems. The implementation and performance metrics for this solver will be assessed across GPU architectures, such as NVIDIA, Intel, and AMD GPUs. Different memory modes (e.g. unified shared memory, device memory) are explored to understand the trade-off between programmability and performance. Our solver is validated by investigating fundamental CFD benchmark problems. A comparison of GPU vs. CPU results are consistent. The 3D Taylor-Green vortex problem is proposed to study the scaling work of this program. The performance of two local functions without MPI data transfer is quite close to ideal scaling. For the non-local function, an even- located MPI partition method is suggested to obtain better performance and scaling. We also present large-scale results for single- and multi-phase applications on the ThetaGPU and Polaris supercomputers at the Argonne Leadership Computing Facility (ALCF).

*This research used resources of the Argonne Leadership Computing Facility, which is a DOE Office of Science User Facility supported under Contract DE-AC02-06CH11357. This research was supported by the Exascale Computing Project (ECP), Project Number: 17-SC-20-SC, a collaborative effort of two DOE organizations - the Office of Science and the National Nuclear Security Administration, responsible for the planning and preparation of a capable exascale ecosystem, including software, applications, hardware, advanced system engineering and early testbed platforms, to support the nation's exascale computing imperative.

Publication: Liu, G., Patel, S., Balakrishnan, R., & Lee, T. (2022). IMEXLBM 1.0: A Proxy Application based on the Lattice Boltzmann Method for solving Computational Fluid Dynamic problems on GPUs. arXiv preprint arXiv:2201.11330.

Presenters

  • Saumil S Patel

    • Argonne National Laboratory

Authors

  • Saumil S Patel

    • Argonne National Laboratory
  • Chunheng Zhao

    • City College of New York
    • The City College of New York
  • Taehun Lee

    • City College of New York
  • Ramesh Balakrishnan

    • Argonne National Laboratory