Lattice Boltzmann Simulations on a GPU: An optimization approach using C++ AMP
Norwegian University of Science and Technology, Faculty of Engineering Science and Technology, Department of Marine Technology
Norwegian University of Science and Technology, 2012
@phdthesis{thyholdt2012lattice,
title={Lattice Boltzmann Simulations on a GPU: An optimization approach using C++ AMP},
author={Thyholdt, K.C.},
year={2012},
school={Norwegian University of Science and Technology}
}
The lattice Boltzmann method has become a valuable tool in computational fluid dynamics, one of the reasons is due to the simplicity of its coding. In order to maximize the performance potential of today’s computers, code has to be optimized for parallel execution. In order to achieve parallel execution of the lattice Boltzmann method, the data dependency has to be solved. And to get good performance, the memory has to be organized for unit stride access. Here we investigate the most known algorithms for lattice Boltzmann, and implement a code which runs on a parallel graphics processor, using a library for parallelization called C++ AMP. Furthermore, we show how the code compares to known solutions of fluid flows to verify the numerical results. The optimized parallel code achieves a speed up of 650 times the un-optimized code, on a current generation high-end graphics card.
November 18, 2012 by hgpu