Massively Parallel Algorithms for the Lattice Boltzmann Method on Non-uniform Grids
arXiv:1508.07982 · doi:10.1137/15M1035240
Abstract
The lattice Boltzmann method exhibits excellent scalability on current supercomputing systems and has thus increasingly become an alternative method for large-scale non-stationary flow simulations, reaching up to a trillion grid nodes. Additionally, grid refinement can lead to substantial savings in memory and compute time. These saving, however, come at the cost of much more complex data structures and algorithms. In particular, the interface between subdomains with different grid sizes must receive special treatment. In this article, we present parallel algorithms, distributed data structures, and communication routines that are implemented in the software framework waLBerla in order to support large-scale, massively parallel lattice Boltzmann-based simulations on non-uniform grids. Additionally, we evaluate the performance of our approach on two current petascale supercomputers. On an IBM Blue Gene/Q system, the largest weak scaling benchmarks with refined grids are executed with almost two million threads, demonstrating not only near-perfect scalability but also an absolute performance of close to a trillion lattice Boltzmann cell updates per second. On an Intel-based system, the strong scaling of a simulation with refined grids and a total of more than 8.5 million cells is demonstrated to reach a performance of less than one millisecond per time step. This enables simulations with complex, non-uniform grids and four million time steps per hour compute time.
32 pages, 20 figures, 4 tables
Cited by in corpus (24)
- Recursive regularization step for high-order lattice Boltzmann methods
- waLBerla: A block-structured high-performance framework for multiphysics simulations
- Towards Exascale Lattice Boltzmann computing
- Extreme-Scale Block-Structured Adaptive Mesh Refinement
- Linear stability of athermal regularized lattice Boltzmann methods
- A Lattice Boltzmann Model for Squirmers
- Compressible lattice Boltzmann methods with adaptive velocity stencils: An interpolation-free formulation
- Moving Charged Particles in Lattice Boltzmann-Based Electrokinetics
- LBsoft: a parallel open-source software for simulation of colloidal systems
- A Systematic Comparison of Dynamic Load Balancing Algorithms for Massively Parallel Rigid Particle Dynamics
- Sparse geometries handling in lattice-Boltzmann method implementation for graphic processors
- Double Multiple-Relaxation-Time model of Lattice-Boltzmann Magnetohydrodynamics at Low Magnetic Reynolds Numbers
- Advanced Automatic Code Generation for Multiple Relaxation-Time Lattice Boltzmann Methods
- waLBerla-wind: a lattice-Boltzmann-based high-performance flow solver for wind energy applications
- A Scalable Multiphysics Algorithm for Massively Parallel Direct Numerical Simulations of Electrophoresis
- GPU-Native Adaptive Mesh Refinement with Application to Lattice Boltzmann Simulations
- Local mesh refinement sensor for the lattice Boltzmann method
- A Modular and Extensible Software Architecture for Particle Dynamics
- Scalable Flow Simulations with the Lattice Boltzmann Method
- A simple algorithm to implement jump boundary conditions within the lattice Boltzmann method
- Computational Study of Ultrathin CNT Films with the Scalable Mesoscopic Distinct Element Method
- Hydrodynamic limits and numerical errors of isothermal lattice Boltzmann schemes
- Enhanced Wall Boundary Modeling for Turbulent Flows Using the Lattice Boltzmann Method with Adaptive Cartesian Grids
- tinyMD: A Portable and Scalable Implementation for Pairwise Interactions Simulations