Elsevier

Procedia Computer Science

Volume 4, 2011, Pages 1004-1013
Procedia Computer Science

Lattice Boltzmann Simulation Code Optimization Based on Constant-time Circular Array Shifting

https://doi.org/10.1016/j.procs.2011.04.106Get rights and content
Under a Creative Commons license
open access

Abstract

Lattice Boltzmann (LB) methods are a class of Computational Fluid Dynamics (CFD) methods for fluid flow simulation. LB simulation codes have high requirements regarding memory and computational power: they may involve the update of several millions of floating point values thousands of times and therefore require several gigabytes of available memory and run for several days. Optimized implementations of LB methods minimize these requirements. An existing method based on a particular data layout and an associated implementation implying a constant time array shifting allows to reduce the execution time of LB simulations and almost minimize memory usage when compared to a naive implementation. In this paper, we show that this method can be further improved, both in memory usage and performances by slightly modifying the data layout and by using blocking in order to enhance data locality.

Keywords

Lattice Boltzmann
Optimization
Data Locality
Circular arrays

Cited by (0)