PERFORMANCE ANALYSIS OF THE LATTICE BOLTZMANN METHOD IMPLEMENTATION ON GPU

Autores

  • Waine B. de Oliveira Jr.
  • Alan Lugarini
  • Admilson T. Franco

Palavras-chave:

CUDA, Graphics processing unit (GPU), Lattice Boltzmann method (LBM), High perfomance computing (HPC)

Resumo

The computational interest on the lattice Boltzmann method (LBM) has grown over the years.
The simplicity of its implementation and the local nature of most of its operations allows the use of
a parallel computing architecture. In this way, GPUs (Graphics-Processing Units) suits very well for
LBM implementation, offering good performance and scalability for a relatively low price. This work
presents a LBM implementation on GPUs for D2Q9 and D3Q19. It is written in C/C++ programming
language and uses CUDA for the use of its GPU resources. For the code optimization, strategies such as
memory layout and merging all operations are presented. Also, designs principles to facilitate alternating
boundary conditions are described. The code is validated and its performance is evaluated. Because of
the lack of work on the matter, it is analyzed and discussed how some simulation’s parameters affects
the performance of the code. These are: single and double precision; number of threads per block; ECC
(error-correcting code memory) on and off; storing macroscopic variables; domain size; rates of saving
and residual. Tests are made using Nvidia’s GPUs from Kepler, Pascal and Volta micro-architectures.
The results are considered satisfactory, achieving the state-of-the-art performance.

Downloads

Publicado

2024-08-26

Edição

Seção

Artigos