Skip to main content Accessibility help

Lattice Boltzmann Simulations of Cavity Flows on Graphic Processing Unit with Memory Management

  • P. Y. Hong (a1), L. M. Huang (a1), C. Y. Chang (a1) and C. A. Lin (a1)


Lattice Boltzmann method (LBM) is adopted to compute two and three-dimensional lid driven cavity flows to examine the influence of memory management on the computational performance using Graphics Processing Unit (GPU). Both single and multi-relaxation time LBM are adopted. The computations are conducted on nVIDIA GeForce Titan, Tesla C2050 and GeForce GTX 560Ti. The performance using global memory deteriorates greatly when multi relaxation time (MRT) LBM is used, which is due to the scheme requesting more information from the global memory than its single relaxation time (SRT) LBM counterpart. On the other hand, adopting on chip memory the difference using MRT and SRT is not significant. Also, performance of LBM streaming procedure using offset reading surpasses offset writing ranging from 50% to 100% and this applies to both SRT and MRT LBM. Finally, comparisons using different GPU platforms indicate that Titan as expected outperforms other devices, and attains 227 and 193 speedup over its Intel Core i7-990 CPU counterpart and four times faster than GTX 560Ti and Tesla C2050 for three dimensional cavity flow simulations respectively with single and double precisions.


Corresponding author

*Corresponding author (


Hide All
1. Shankar, P. N. and Deshpande, M. D., “Fluid Mechanics in the Driven Cavity,” Annual Review of Fluid Mechanics, 32, 93 (2000).
2. Ghia, U., Ghia, K. N. and Shin, C. T., “High-Resolutions for Incompressible Flow Using the Navier-Stokes Equations and a Multigrid Method,” Journal of Computational Physics, 48, 387 (1982).
3. Schreiber, R. and Keller, H. B., “Driven Cavity Flows by Effcient Numerical Techniques,” Journal of Computational Physics, 49, 310 (1983).
4. Iwatsu, R., Ishii, K., Kawamura, T., Kuwahara, K. and Hyun, J. M., “Numerical Simulation of Three-Dimensional Flow Structure in a Driven Cavity,” Fluid Dynamics Research, 5, 173 (1989).
5. Guj, G. and Stella, F., “A Vorticity-Velocity Method for the Numerical Solution of 3D Incompressible Flows,” Journal of Computational Physics, 106, 286 (1993).
6. Mei, R., Shyy, W., Yu, D. and Luo, L. S., “Lattice Boltzmann Method for 3-D Flows with Curved Boundary,” Journal of Computational Physics, 161, 680 (2000).
7. Feldman, Y. and Gelfgat, A. Y., “Oscillatory Instability of a Three-Dimensional Lid-Driven Flow in a Cube,” Physics of Fluids, 22, 093602 (2010).
8. Liberzon, A., Feldman, Y. and Gelfgat, A. Y., “Experimental Observation of the Steady-Oscillatory Transition in a Cubic Lid-Driven Cavity,” Physics of Fluids, 23, 084106 (2011).
9. Hou, S., Zou, Q., Chen, S., Doolean, G. and Cogley, A. C., “Simulation of Cavity Flow by the Lattice Boltzmann Method,” Journal of Computational Physics, 118, 329 (1995).
10. Lin, L. S., Chen, Y. C. and Lin, C. A., “Multi Relaxation Time Lattice Boltzmann Simulations of Deep Lid Driven Cavity Flows at Different Aspect Ratios,” Computers & Fluids, 45, 233 (2011).
11. Ghadyani, M. and Esfahanian, V., “A More Robust Compressible Lattice Boltzmann Model by Using the Numerical Filters,” Journal of Mechanics, 30, 515 (2014).
12. Lin, S. Y. et al., “A Unified Wall-Boundary Condition for the Lattice Boltzmann Method and Its Application to Force Evaluation,” Journal of Mechanics, 31, 55 (2015).
13. Cuda C Programming Guide 5.0, (2012)
14. Obrecht, C., Kuznik, F., Tourancheau, B. and Roux, J. J., “A New Approach to the Lattice Boltzmann Method for Graphics Processing Units,” Computers and Mathematics with Applications, 61, 3628 (2011).
15. Kuznik, F., Obrecht, C., Rusaouen, G. and Roux, J. J., “LBM Based Flow Simulation Using GPU Computing Processor,” Computers and Mathematics with Applications, 59, 2380 (2010).
16. Tölke, J., “Implementation of a Lattice Boltzmann Kernel Using the Compute Unified Device Architecture Developed by nVIDIA,” Computing and Visualization in Science, 13, 29 (2010).
17. Lin, L. S., Chang, H. W. and Lin, C. A., “Multi Relaxation Time Lattice Boltzmann Simulations of Transition in Deep 2D Lid Driven Cavity Using GPU,” Computers & Fluids, 80, 381 (2013).
18. Chang, H. W., Hong, P. Y., Lin, L. S. and Lin, C. A., “Simulations of Flow Instability in Three Dimensional Deep Cavities with Multi Relaxation Time Lattice Boltzmann Method on Graphic Processing Units,” Computers & Fluids, 88, 866 (2013).
19. Hong, P. Y., Huang, L. M., Lin, L. S. and Lin, C. A., “Scalable Multi-Relaxation-Time Lattice Boltzmann Simulations on Multi-GPU Cluster,” Computers & Fluids, 110, 1 (2015).
20. Qian, Y. H., d'Humières, D. and Lallemand, P., “Lattice BGK Models for Navier-Stokes Equation,” Europhys Lett, 17, 479 (1992).
21. Humières, D., Ginzburg, I., Krafczyk, M., Lallemand, P. and Luo, L. S., “Multiple-Relaxation-Time Lattice Boltzmann Models in Three Dimensions,” Philosophical Transactions of the Royal Society of London A, 360, 437 (2002).
22. Lallemand, P. and Luo, L. S., “Theory of the Lattice Boltzmann Method: Dispersion, Dissipation, Isotropy, Galilean Invariance, and Stability,” Physical Review E, 61, 6546 (2000).
23. Ho, C. F., Chang, C., Lin, K. H. and Lin, C. A., “Consistent Boundary Conditions for 2D and 3D Laminar Lattice Boltzmann Simulations,” CMES-Computer Modeling in Engineering and Sciences, 44, 137 (2009).
24. Chang, C., Liu, C. H. and Lin, C. A., “Boundary Conditions for Lattice Boltzmann Simulations with Complex Geometry Flows,” Computers and Mathematics with applications, 58, 940 (2009).
25. Albensoeder, S. and Kuhlmann, H. C., “Accurate Three-Dimensional Lid-Driven Cavity Flow,” Journal of Computational Physics, 206, 536 (2005).


Related content

Powered by UNSILO

Lattice Boltzmann Simulations of Cavity Flows on Graphic Processing Unit with Memory Management

  • P. Y. Hong (a1), L. M. Huang (a1), C. Y. Chang (a1) and C. A. Lin (a1)


Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed.