Tadeusz Tomczak, Roman Szafran Abstract 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 minimizing 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 utilize 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 the good spatial locality.
A free copy of a paper from arXiv.org |