Research Article

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

Algorithm 6

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