In computational fluid dynamics, the Lattice Boltzmann method is a computational technique that has gained popularity due to its flexibility in handling complex geometries and turbulence models, and its unique suitability for massive parallel processing. The method, which discretizes both space and velocity into a lattice structure, has been the subject of highly sophisticated implementation by academia and industry, resulting in very large and engineered code bases. This article introduces miniLB, to the best of our knowledge the first SYCL-based mini-application for the Lattice Boltzmann method. Thanks to its minimalist structure, miniLB is a perfect benchmark to address four key aspects of lattice Boltzmann implementations: (a) GPU acceleration, thanks to an efficient implementation in SYCL capable of abstracting complex fluid dynamics simulations across heterogeneous computing systems; (b) performance portability, with an efficient mapping to SYCL semantics focused on performance portability, evaluated on GPUs from different vendors; (c) mixed precision, with four different variations exploiting combinations of double, single, and half floating-point representations; (d) flexibility, demonstrated through four different use cases, including Lid-driven cavity, Von Karmann street, Poiseuille flow, and Taylor-Green vortex. The results of miniLB, compared to a manually tuned FORTRAN version, demonstrate the effectiveness of miniLB in assessing performance portability across different hardware, while providing valuable insights for optimizing large-scale lattice Boltzmann simulations in modern massively parallel computing systems.
miniLB: Benchmarking Lattice Boltzmann simulations on AMD, Intel, and NVIDIA GPUs
Cosenza B.
;Crisci L.;
2026
Abstract
In computational fluid dynamics, the Lattice Boltzmann method is a computational technique that has gained popularity due to its flexibility in handling complex geometries and turbulence models, and its unique suitability for massive parallel processing. The method, which discretizes both space and velocity into a lattice structure, has been the subject of highly sophisticated implementation by academia and industry, resulting in very large and engineered code bases. This article introduces miniLB, to the best of our knowledge the first SYCL-based mini-application for the Lattice Boltzmann method. Thanks to its minimalist structure, miniLB is a perfect benchmark to address four key aspects of lattice Boltzmann implementations: (a) GPU acceleration, thanks to an efficient implementation in SYCL capable of abstracting complex fluid dynamics simulations across heterogeneous computing systems; (b) performance portability, with an efficient mapping to SYCL semantics focused on performance portability, evaluated on GPUs from different vendors; (c) mixed precision, with four different variations exploiting combinations of double, single, and half floating-point representations; (d) flexibility, demonstrated through four different use cases, including Lid-driven cavity, Von Karmann street, Poiseuille flow, and Taylor-Green vortex. The results of miniLB, compared to a manually tuned FORTRAN version, demonstrate the effectiveness of miniLB in assessing performance portability across different hardware, while providing valuable insights for optimizing large-scale lattice Boltzmann simulations in modern massively parallel computing systems.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.


