Memory layout in GPU implementation of lattice Boltzmann method for sparse 3D geometries
Wroclaw University of Technology, Faculty of Electronics, Chair of Computer Engineering, Janiszewskiego 11/17, 50-370 Wroclaw, Poland
arXiv:1611.02445 [cs.DC], (8 Nov 2016)
@article{tomczak2016memory,
title={Memory layout in GPU implementation of lattice Boltzmann method for sparse 3D geometries},
author={Tomczak, Tadeusz and Szafran, Roman G.},
year={2016},
month={nov},
archivePrefix={"arXiv"},
primaryClass={cs.DC}
}
We describe a high-performance implementation of the lattice Boltzmann method (LBM) for sparse 3D geometries on graphic processors (GPU). The main contribution of this work is a data layout that allows to minimise the number of redundant memory transactions during the propagation step of LBM. We show that by using a uniform mesh of small three-dimensional tiles and a careful data placement it is possible to utilise more than 70% of maximum theoretical GPU memory bandwidth for D3Q19 lattice and double precision numbers. The performance of our implementation is thoroughly examined and compared with other GPU implementations of LBM. The proposed method performs the best for sparse geometries with good spatial locality.
November 10, 2016 by hgpu