Research Article

Performance Optimization of 3D Lattice Boltzmann Flow Solver on a GPU

Algorithm 5

Kernel using the push scheme.
()  __global__ void soa_push_kernel(float
               *source_grid, float *dest_grid, unsigned
               char* flags)
()
()Gather 19 pdfs from the current cell
()
()Apply boundary conditions
()
()Calculate the mass density and the velocity
()
()Calculate the local equilibrium distribution
       functions using and
()
()    Calculate the pdfs at new time step
()
()    Stream 19 pdfs to the adjacent cells
()