Skip to main content

An Efficient Implementation of Entropic Lattice Boltzmann Method in a Hybrid CPU-GPU Computing Environment

  • Conference paper
  • 3349 Accesses

Part of the Communications in Computer and Information Science book series (CCIS,volume 405)

Abstract

In the high performance computing market, CPU-GPU hybrid computing is gradually becoming the tendency. Entropic Lattice Boltzmann method(ELBM) parallelization, like many parallel algorithms in the field of rapid scientific and engineering computing, has given rise to much attention for applications of computational fluid dynamics. This paper presents an efficient implementation of ELBM for a D3Q19 lattice Boltzmann flow simulation in a hybrid CPU-GPU computing environment, which is consisted of AMD multi-core CPU with NVIDIA graphics processors unit (GPU). To overcome the GPU memory size limitation and communication overhead, we propose a set of techniques that can be used to develop efficient ELBM algorithms for the hybrid system. Considering that the respective contributions of CPU versus GPU and the lattice scale of application, the optimal load balancing model is built. These approaches result in an efficient implementation with balanced use of multi-core processor and a graphics processor based on software framework OpenMP and CUDA. Finally, we show that the comparison of performance results using both CPU and GPU with using either a CPU core or a GPU.

Keywords

  • Computational fluid dynamics
  • Entropic Lattice Boltzmann Method(ELBM)
  • Hybrid computing
  • Parallelization
  • CUDA
  • OpenMP
  • GPU

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-53962-6_12
  • Chapter length: 13 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   84.99
Price excludes VAT (USA)
  • ISBN: 978-3-642-53962-6
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   109.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Kampolis, I.C., Trompoukis, X.S., Asouti, V.G., Giannakoglou, K.: CFD-based analysis and two-level aerodynamic optimization on graphics processing units. Computer Methods in Applied Mechanics and Engineering 199, 712–722 (2010)

    CrossRef  MATH  MathSciNet  Google Scholar 

  2. GPGPU.org., http://gpgpu.org/

  3. NVIDIA Corporation. NVIDIA CUDA Compute Unified Device Architecture Programming Guide, http://developer.nvidia.com/object/cuda.html

  4. NVIDIA Cuda Toolkit 2.3 (2009), http://www.nvidia.com/object/cuda_get.html

  5. Chen, S., Doolen, G.D.: Lattice Boltzmann method for fluid flows. Annual Review of Fluid Mechanics 30(1), 329–364 (1998)

    CrossRef  MathSciNet  Google Scholar 

  6. Ansumali, S., Karlin, I.V.: Stabilization of the lattice Boltzmann method by the H theorem: A numerical test. Phys. Rev. E 62, 7999 (2000)

    CrossRef  Google Scholar 

  7. Boghosian, B.M., Yepez, J., Coveney, P.V., Wagner, A.J.: Entropic lattice boltzmann methods. Proc. R. Soc. London, Ser. A 457, 717 (2001)

    CrossRef  MATH  MathSciNet  Google Scholar 

  8. Ansumali, S., Karlin, I.V.: Entropy function approach to the lattice boltzmann method. J. Stat. Phys. 107, 291–308 (2002)

    CrossRef  MATH  Google Scholar 

  9. Karlin, I.V., Gorban, A.N., Succi, S., Boffi: Maximum entropy principle for lattice kinetic equations. Phys. Rev. Lett. 81, 6–9 (1998)

    CrossRef  Google Scholar 

  10. Ansumali, S., Karlin, I.V.: Single relaxation time model for entropic lattice Boltzmann methods. Physical Review E 65, 056312 (2002)

    Google Scholar 

  11. Yong, W.-A., Luo, L.-S.: Nonexistence of H theoremfor the athermal lattice Boltzmann models with polynomial equilibria. Physical Review E 67, 051105, 1–4 (2003)

    Google Scholar 

  12. Lie, W., Wei, X., Kaufmann, A.: Implementing lattice Boltzmann computation on graphics hardware. Vis. Comput. 19(7-8), 444–456 (2003)

    Google Scholar 

  13. Tanno, I., et al.: Simulation of turbulent flow by lattice Boltzmann method and conventional method on a GPU. Computers & Fluids (2012)

    Google Scholar 

  14. Tölke, J., Krafczyk, M.: TeraFLOP computing on a desktop PC with GPUs for 3D CFD. Int. J. Comput. Fluid Dynam. 22(7), 443–456 (2008)

    CrossRef  MATH  Google Scholar 

  15. Bernaschi, M., Fatica, M., Melchionna, S., et al.: A flexible high performance lattice Boltzmann GPU code for the simulations of fluid flows in complex geometries. Concurr. Comp-Pract. E 22, 1–14 (2010)

    CrossRef  Google Scholar 

  16. Kuznik, F., Obrecht, C., Rusaouen, G., et al.: LBM based flow simulation using GPU computing processor. Comput. Math. Appl. 59, 2380–2392 (2010)

    CrossRef  MATH  Google Scholar 

  17. Tölke, J.: Implementation of a lattice boltzmann kernel using the compute unified device architecture developed by nvidia. Computing and Visualization in Science 13(1), 29–39 (2010)

    CrossRef  Google Scholar 

  18. Xian, W., Takayuki, A.: Multi-GPU performance of incompressible flow computation by lattice Boltzmann method on GPU cluster. Parallel Computing 37, 521–535 (2011)

    MathSciNet  Google Scholar 

  19. Feichtinger, C., et al.: A flexible Patch-based lattice Boltzmann parallelization approach for heterogeneous GPU–CPU clusters. Parallel Computing 37, 521–535 (2011)

    CrossRef  MathSciNet  Google Scholar 

  20. Tosi, F., Ubertini, S., Succi, S., Karlin, I.: Optimization strategies for the entropic lattice boltzmann method. Journal of Scientific Computing 30(3), 369–387 (2007)

    CrossRef  MATH  MathSciNet  Google Scholar 

  21. Yasuda, T., Satofuka, N.: An improved entropic lattice boltzmann model for parallel computation. Computers & Fluids (2011)

    Google Scholar 

  22. Higuera, F.J., Succi, S., Benzi, R.: Lattice gas dynamics with enhanced collisions. Europhys. Lett. 9, 345–349 (1989)

    CrossRef  Google Scholar 

  23. Succi, S.: The Lattice Boltzmann Equation for fluid dynamics and beyond. Claredon press, Oxford University Press (2001)

    Google Scholar 

  24. Karlin, I.V., Succi, S.: Equilibria for discrete kinetic equations. Phys. Rev. E 58, 4053 (1998)

    Google Scholar 

  25. Ansumali, S., Karlin, I.V., Ottinger, H.C.: Minimal entropic kinetic models for hydrodynamics. EPL (Europhysics Letters) 63(6), 798 (2007)

    CrossRef  Google Scholar 

  26. Malaspinas, O., Deville, M., Chopard, B.: Towards a physical interpretation of the entropic lattice Boltzmann method. Phys. Rev. E 78(6), 066705 (2008)

    Google Scholar 

  27. Chandra, R., Menon, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J.: Parallel Programming in OpenMP. Morgan Kaufmann (2001)

    Google Scholar 

  28. OpenMP (1997), http://openmp.org/

  29. OpenMP 3.0 Status (2008), http://openmp.org/wp/2008/11/openmp-30-status/

  30. Using Texture Memory in CUDA (2009), http://www.drdobbs.com/high-performance-computing/218100902

  31. Geerdink, J.: Entropic and multiple relaxation time lattice Boltzmann methods compared for time harmonic flows (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ye, Y., Chi, P., Wang, Y. (2014). An Efficient Implementation of Entropic Lattice Boltzmann Method in a Hybrid CPU-GPU Computing Environment . In: Li, K., Xiao, Z., Wang, Y., Du, J., Li, K. (eds) Parallel Computational Fluid Dynamics. ParCFD 2013. Communications in Computer and Information Science, vol 405. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-53962-6_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-53962-6_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-53961-9

  • Online ISBN: 978-3-642-53962-6

  • eBook Packages: Computer ScienceComputer Science (R0)