Research Article

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

Algorithm 2

Basic skeleton of LBM algorithm.
()void LBM(double *source_grid, double
    dest_grid, int grid_size, int timeSteps)
()
()int  i;
()double temp_grid;
()for  (i = 0; i < timeSteps; i++)
()
()collide(source_grid, temp_grid, grid_size);
()stream(temp_grid, dest_grid, grid_size);
()swap_grid(source_grid, dest_grid);
()
()