A cache‐efficient implementation of the lattice Boltzmann method for the two‐dimensional diffusion equation

The lattice Boltzmann method is an important technique for the numerical solution of partial differential equations because it has nearly ideal scalability on parallel computers for many applications. However, to achieve the scalability and speed potential of the lattice Boltzmann technique, the issues of data reusability in cache‐based computer architectures must be addressed. Utilizing the two‐dimensional diffusion equation, $T_t=\mu(T_{xx}T_{yy})$, this paper examines cache optimization for the lattice Boltzmann method in both serial and parallel implementations. In this study, speedups due to cache optimization were found to be 1.9–2.5 for the serial implementation and 3.6–3.8 for the parallel case in which the domain decomposition was optimized for stride‐one access. In the parallel non‐cached implementation, the method of domain decomposition (horizontal or vertical) used for parallelization did not significantly affect the compute time. In contrast, the cache‐based implementation of the lattice Boltzmann method was significantly faster when the domain decomposition was optimized for stride‐one access. Additionally, the cache‐optimized lattice Boltzmann method in which the domain decomposition was optimized for stride‐one access displayed superlinear scalability on all problem sizes as the number of processors was increased. Copyright © 2004 John Wiley & Sons, Ltd.

[1]  Sauro Succi,et al.  The lattice Boltzmann equation: a new tool for computational fluid-dynamics , 1991 .

[2]  R. Pletcher,et al.  Computational Fluid Mechanics and Heat Transfer. By D. A ANDERSON, J. C. TANNEHILL and R. H. PLETCHER. Hemisphere, 1984. 599 pp. $39.95. , 1986, Journal of Fluid Mechanics.

[3]  Nobuyuki Satofuka,et al.  Parallelization of lattice Boltzmann method for incompressible flow computations , 1999 .

[4]  Ramesh C. Agarwal,et al.  Vector and parallel algorithms for Cholesky factorization on IBM 3090 , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[5]  P. Bhatnagar,et al.  A Model for Collision Processes in Gases. I. Small Amplitude Processes in Charged and Neutral One-Component Systems , 1954 .

[6]  J. Boon The Lattice Boltzmann Equation for Fluid Dynamics and Beyond , 2003 .

[7]  Shiyi Chen,et al.  LATTICE BOLTZMANN METHOD FOR FLUID FLOWS , 2001 .

[8]  D. Wolf-Gladrow Lattice-Gas Cellular Automata and Lattice Boltzmann Models: An Introduction , 2000 .

[9]  S. Orszag,et al.  Lattice BGK Models for the Navier-Stokes Equation: Nonlinear Deviation in Compressible Regimes , 1993 .

[10]  Matthaeus,et al.  Recovery of the Navier-Stokes equations using a lattice-gas Boltzmann method. , 1992, Physical review. A, Atomic, molecular, and optical physics.

[11]  David R. Noble,et al.  Comparison of Accuracy and Performance for Lattice Boltzmann and Finite Difference Simulations of Steady Viscous Flow , 1996 .

[12]  S. Chen,et al.  Comparison of spectral method and lattice Boltzmann simulations of two‐dimensional hydrodynamics , 1993, comp-gas/9303003.