Computational Science Technical Note CSTN-109

CSTN Home

Data-Parallelism and GPUs for Lattice Gas Fluid Simulations

M. G. B. Johnson, D. P. Playne and K. A. Hawick

Archived March 2010

Abstract

Lattice gas cellular automata (LGCA) models provide a relatively fast means of simulating fluid flow and can give both quantitative and qualitative insights into flow patterns around complex obstacles. Symmetry requirements inherent in the Navier-Stokes equation mandate that lattice-gas approximations to the full field equations be run on triangular lattices in two dimensions and on a 3-D projection of a four dimensional face centred hyper-cubic for three dimensions. Graphics Processing Units (GPUs) offer powerful data-parallel processing capabilities for many simulations as well as the graphics calculations required to simulate them. We describe how GPUs can be used to implement mesh structures for simulating lattice gases. We present performance data on how to optimise data layout in the various levels of localised memory available in modern GPUs and discuss data transfer issues between CPU and GPU and between processing GPU and graphics GPU in a unified simulation platform. We illustrate these ideas with algorithmic fragments in Compute Unified Device Architecture (CUDA) - NVIDIA's GPU programming language.

Keywords: data parallelism; GPU; cellular automata; lattice gas; fluid simulation; triangular lattice; CUDA.

Full Document Text: PDF version.

Citation Information: BiBTeX database for CSTN Notes.

BiBTeX reference:

@INPROCEEDINGS{CSTN-109,
  author = {M. G. B. Johnson and D. P. Playne and K. A. Hawick},
  title = {Data-Parallelism and GPUs for Lattice Gas Fluid Simulations},
  booktitle = {Proc. International Conference on Parallel and Distributed Processing
	Techniques and Applications (PDPTA'10)},
  year = {2010},
  pages = {210-216},
  address = {Las Vegas, USA},
  month = {12-15 July},
  publisher = {CSREA},
  note = {PDP4521},
  institution = {Computer Science, Massey University},
  timestamp = {2010.04.09}
}


[ CSTN Index | CSTN BiBTeX ]