Comparison of different Propagation Steps for the Lattice Boltzmann Method
Markus Wittmann, Thomas Zeiser, Georg Hager, Gerhard Wellein

TL;DR
This paper compares various propagation step implementations in the lattice Boltzmann method, analyzing their memory transfer requirements and performance on different hardware, highlighting the benefits of advanced approaches despite increased complexity.
Contribution
It provides a comprehensive comparison of propagation step implementations and evaluates their performance using a memory bandwidth-based model and benchmarking on real hardware.
Findings
Advanced propagation methods outperform naive implementations in performance.
Memory transfer count significantly influences lattice Boltzmann method efficiency.
Performance models closely match measured results across different hardware.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
