Massively parallel lattice-Boltzmann codes on large GPU clusters
arXiv:1703.00185 · doi:10.1016/j.parco.2016.08.005
Abstract
This paper describes a massively parallel code for a state-of-the art thermal lattice- Boltzmann method. Our code has been carefully optimized for performance on one GPU and to have a good scaling behavior extending to a large number of GPUs. Versions of this code have been already used for large-scale studies of convective turbulence. GPUs are becoming increasingly popular in HPC applications, as they are able to deliver higher performance than traditional processors. Writing efficient programs for large clusters is not an easy task as codes must adapt to increasingly parallel architectures, and the overheads of node-to-node communications must be properly handled. We describe the structure of our code, discussing several key design choices that were guided by theoretical models of performance and experimental benchmarks. We present an extensive set of performance measurements and identify the corresponding main bot- tlenecks; finally we compare the results of our GPU code with those measured on other currently available high performance processors. Our results are a production-grade code able to deliver a sustained performance of several tens of Tflops as well as a design and op- timization methodology that can be used for the development of other high performance applications for computational physics.
References in corpus (5)
- Solving Lattice QCD systems of equations using mixed precision solvers on GPUs
- Lattice Boltzmann method with self-consistent thermo-hydrodynamic equilibria
- Performance and Portability of Accelerated Lattice Boltzmann Applications with OpenACC
- QCD simulations with staggered fermions on GPUs
- Evolution of a double-front Rayleigh-Taylor system using a GPU-based high resolution thermal Lattice-Boltzmann model
Cited by in corpus (13)
- Multi-GPU thermal lattice Boltzmann simulations using OpenACC and MPI
- On the accuracy and performance of the lattice Boltzmann method with 64-bit, 32-bit and novel 16-bit number formats
- Optimization of Lattice Boltzmann Simulations on Heterogeneous Computers
- A GPU-accelerated package for simulation of flow in nanoporous source rocks with many-body dissipative particle dynamics
- Beyond moments: relativistic Lattice-Boltzmann methods for radiative transport in computational astrophysics
- Towards a unified lattice kinetic scheme for relativistic hydrodynamics
- Portable multi-node LQCD Monte Carlo simulations using OpenACC
- Development and performance of a HemeLB GPU code for human-scale blood flow simulation
- Fast kinetic simulator for relativistic matter
- Early Experience on Using Knights Landing Processors for Lattice Boltzmann Applications
- Energy-efficiency evaluation of Intel KNL for HPC workloads
- Characteristic Boundary Condition for Thermal Lattice Boltzmann Methods
- Vielbein Lattice Boltzmann approach for fluid flows on spherical surfaces