Implementation of a Lattice Boltzmann kernel using the Compute Unified Device Architecture developed by nVIDIA

  • Jonas Tölke
Regular article


In this article a very efficient implementation of a 2D-Lattice Boltzmann kernel using the Compute Unified Device Architecture (CUDA™) interface developed by nVIDIA® is presented. By exploiting the explicit parallelism exposed in the graphics hardware we obtain more than one order in performance gain compared to standard CPUs. A non-trivial example, the flow through a generic porous medium, shows the performance of the implementation.


Graphical Processing Unit Lattice Boltzmann Method Memory Bandwidth Peak Performance Thread Block 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Benzi R., Succi S., Vergassola M.: The lattice Boltzmann equation: theory and applications. Phys. Rep. 222(3), 147–197 (1992)CrossRefGoogle Scholar
  2. 2.
    Bolz J., Farmer I., Grinspun E., Schröder P.: Sparse matrix solvers on the GPU: conjugate gradients and multigrid. ACM Trans. Graph. (SIGGRAPH) 22(3), 917–924 (2003)CrossRefGoogle Scholar
  3. 3.
    Buck, I., Foley, T., Horn, D., Sugerman, J., Fatahalian, K., Houston, M., Hanrahan, P.: Brook for GPUs: Stream Computing on Graphics Hardware. ACM Trans. Graph. 23, 777–786 (2004).
  4. 4.
    Chen S., Doolen G.: Lattice Boltzmann method for fluid flows. Annu. Rev. Fluid Mech. 30, 329–364 (1998)CrossRefMathSciNetGoogle Scholar
  5. 5.
    Chu N., Tai C.L.: Moxi: Real-time ink dispersion in absorbent paper. ACM Trans. Graph. 24(3), 504–511 (2005)CrossRefGoogle Scholar
  6. 6.
    d’Humières, D.: Generalized lattice–Boltzmann equations. In: Shizgal, B.D., Weave, D.P. (eds.) Rarefied Gas Dynamics: Theory and Simulations. Prog. Astronaut. Aeronaut., vol. 159 pp. 450–458. AIAA Washington, DC (1992)Google Scholar
  7. 7.
    d’Humières D., Ginzburg I., Krafczyk M., Lallemand P., Luo L.S.: Multiple-relaxation-time lattice Boltzmann models in three-dimensions. Philo. Trans. R. Soc. Lond. A 360, 437–451 (2002)zbMATHCrossRefGoogle Scholar
  8. 8.
    Fan, Z., Qiu, F., Kaufman, A.E., Yoakum-Stover, S.: Gpu cluster for high performance computing. In: Proceedings of ACM/IEEE Supercomputing Conference 2004, pp. 47–59 (2004)Google Scholar
  9. 9.
    Frisch U., d’HumiFres D., Hasslacher B., Lallemand P., Pomeau Y., Rivet J.P.: Lattice gas hydrodynamics in two and three dimensions. Comp. Syst. 1, 75–136 (1987)Google Scholar
  10. 10.
    Ginzburg I., d’Humières D.: Multireflection boundary conditions for lattice Boltzmann models. Phys. Rev. E 68, 066,614 (2003)CrossRefGoogle Scholar
  11. 11.
    Heuveline, V., Weiœ, J.P.: A Parallel Implementation of a Lattice Boltzmann Method on the ClearSpeed AdvanceTM Accelerator Board. Tech. rep., Rechenzentrum Universität Karlsruhe (2007).
  12. 12.
    Inamuro T., Yoshino M., Ogino F.: Accuarcy of the lattice boltzmann method for small knudsen number with finite reynolds number. Phys. Fluids 9, 3535 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Junk M., Klar A., Luo L.: Asymptotic analysis of the lattice boltzmann equation. J. Comp. Phys. 210, 676 (2005)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Krüger J., Westermann R.: Linear algebra operators for GPU implementation of numerical algorithms. ACM Trans. Graph. (SIGGRAPH) 22(3), 908–916 (2003)CrossRefGoogle Scholar
  15. 15.
    Lallemand P., Luo L.S.: Theory of the lattice Boltzmann method: Dispersion, dissipation, isotropy, Galilean invariance, and stability. Phys. Rev. E 61(6), 6546–6562 (2000)CrossRefMathSciNetGoogle Scholar
  16. 16.
    Li W., Wei X., Kaufman A.: Implementing Lattice Boltzmann Computation on Graphics Hardware. Vis. Comput. 19(7-8), 444–456 (2003)Google Scholar
  17. 17.
    Nguyen N.Q., Ladd A.: Sedimentation of hard-sphere suspensions at low Reynolds number. J. Fluid Mech. 525, 73–104 (2004)CrossRefGoogle Scholar
  18. 18.
    NVIDIA CUDA Programming Guide.
  19. 19.
    Qian Y.H., d’Humières D., Lallemand P.: Lattice BGK models for Navier-Stokes equation. Europhys. Lett. 17, 479–484 (1992)zbMATHCrossRefGoogle Scholar
  20. 20.
    Qiu, F., Zhao, Y., Fan, Z., Wei, X., Lorenz, H., Wang, J., Yoakum-Stover, S., Kaufman, A.E., Mueller, K.: Dispersion simulation and visualization for urban security. In: IEEE Visualization, pp. 553–560 (2004)Google Scholar
  21. 21.
    Sangani A.S., Acrivos A.: Slow flow past periodic arrays of cylinders with application to heat-transfer. Int. J. Multiph. Flow 8(3), 193–206 (1982)zbMATHCrossRefGoogle Scholar
  22. 22.
    Tölke J.: A thermal model based on the lattice Boltzmann method for low Mach number compressible flows. J. Comput. Theor. Nanosci. 3(4), 579–587 (2006)Google Scholar
  23. 23.
    Tutubalina, A.: 8800 gtx performance tests. In Russian
  24. 24.
    Wei X., Zhao Y., Fan Z., Li W., Qiu F., Yoakum-Stover S., Kaufman A.: Lattice-based flow field modeling. IEEE Trans. Vis. Comput. Graphics 10(6), 719–729 (2004)CrossRefGoogle Scholar
  25. 25.
    Wellein G., Zeiser T., Hager G., Donath S.: On the single processor performance of simple lattice Boltzmann kernels. Comput. Fluids 35(8–9), 910–919 (2006)CrossRefGoogle Scholar
  26. 26.
    Wu E., Liu Y., Liu X.: An improved study of real-time fluid simulation on GPU. Comp. Anim. Virtual Worlds 15, 139–146 (2004)CrossRefGoogle Scholar
  27. 27.
    Zhao Y., Han Y., Fan Z., Qiu F., Kuo Y.C., Kaufman A., Mueller K.: Visual simulation of heat shimmering and mirage. IEEE Trans. Vis. Comput. Graph. 13(1), 179–189 (2007)CrossRefGoogle Scholar
  28. 28.
    Zhao Y., Wang L., Qiu F., Kaufman A., Mueller K.: Melting and flowing in multiphase environments. Comput. Graph. 30(4), 519–528 (2006)CrossRefGoogle Scholar
  29. 29.
    Zhu H., Liu X., Liu Y., Wu E.: Simulation of miscible binary mixtures based on lattice Boltzmann method. Comp. Anim. Virtual Worlds 17, 403–410 (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  1. 1.Institute for computer based modeling in civil engineeringBraunschweigGermany

Personalised recommendations