Comparison of different Propagation Steps for the Lattice Boltzmann Method
arXiv:1111.0922 · doi:10.1016/j.camwa.2012.05.002
Abstract
Several possibilities exist to implement the propagation step of the lattice Boltzmann method. This paper describes common implementations which are compared according to the number of memory transfer operations they require per lattice node update. A memory bandwidth based performance model is then used to obtain an estimation of the maximal reachable performance on different machines. A subset of the discussed implementations of the propagation step were benchmarked on different Intel and AMD-based compute nodes using the framework of an existing flow solver which is specially adapted to simulate flow in porous media. Finally the estimated performance is compared to the measured one. As expected, the number of memory transfers has a significant impact on performance. Advanced approaches for the propagation step like "AA pattern" or "Esoteric Twist" require more implementation effort but sustain significantly better performance than non-naive straight forward implementations.
17 pages, 11 figures, 8 tables, preprint submitted to Computers & Mathematics with Applications
References in corpus (1)
Cited by in corpus (15)
- 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
- Chip-level and multi-node analysis of energy-optimized lattice-Boltzmann CFD simulations
- A unified operator splitting approach for multi-scale fluid-particle coupling in the lattice Boltzmann method
- Enhanced single-node boundary condition for the Lattice Boltzmann Method
- LBsoft: a parallel open-source software for simulation of colloidal systems
- LBcuda: a high-performance CUDA port of LBsoft for simulation of colloidal systems
- Lattice Boltzmann Benchmark Kernels as a Testbed for Performance Analysis
- Analytic Solution to the Piecewise Linear Interface Construction Problem and its Application in Curvature Calculation for Volume-of-Fluid Simulation Codes
- Advanced Automatic Code Generation for Multiple Relaxation-Time Lattice Boltzmann Methods
- Early Experience on Using Knights Landing Processors for Lattice Boltzmann Applications
- Modeling and analyzing performance for highly optimized propagation steps of the lattice Boltzmann method on sparse lattices
- Efficient implementation of immersed boundary-lattice Boltzmann method for massive particle-laden flows Part I: Serial computing
- Designing a 3D Parallel Memory-Aware Lattice Boltzmann Algorithm on Manycore Systems
- A progressive mesh method for physical simulations using lattice Boltzmann method on single-node multi-gpu architectures