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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
GPGPU.org., http://gpgpu.org/
NVIDIA Corporation. NVIDIA CUDA Compute Unified Device Architecture Programming Guide, http://developer.nvidia.com/object/cuda.html
NVIDIA Cuda Toolkit 2.3 (2009), http://www.nvidia.com/object/cuda_get.html
Chen, S., Doolen, G.D.: Lattice Boltzmann method for fluid flows. Annual Review of Fluid Mechanics 30(1), 329–364 (1998)
Ansumali, S., Karlin, I.V.: Stabilization of the lattice Boltzmann method by the H theorem: A numerical test. Phys. Rev. EÂ 62, 7999 (2000)
Boghosian, B.M., Yepez, J., Coveney, P.V., Wagner, A.J.: Entropic lattice boltzmann methods. Proc. R. Soc. London, Ser. AÂ 457, 717 (2001)
Ansumali, S., Karlin, I.V.: Entropy function approach to the lattice boltzmann method. J. Stat. Phys. 107, 291–308 (2002)
Karlin, I.V., Gorban, A.N., Succi, S., Boffi: Maximum entropy principle for lattice kinetic equations. Phys. Rev. Lett. 81, 6–9 (1998)
Ansumali, S., Karlin, I.V.: Single relaxation time model for entropic lattice Boltzmann methods. Physical Review EÂ 65, 056312 (2002)
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)
Lie, W., Wei, X., Kaufmann, A.: Implementing lattice Boltzmann computation on graphics hardware. Vis. Comput. 19(7-8), 444–456 (2003)
Tanno, I., et al.: Simulation of turbulent flow by lattice Boltzmann method and conventional method on a GPU. Computers & Fluids (2012)
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)
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)
Kuznik, F., Obrecht, C., Rusaouen, G., et al.: LBM based flow simulation using GPU computing processor. Comput. Math. Appl. 59, 2380–2392 (2010)
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)
Xian, W., Takayuki, A.: Multi-GPU performance of incompressible flow computation by lattice Boltzmann method on GPU cluster. Parallel Computing 37, 521–535 (2011)
Feichtinger, C., et al.: A flexible Patch-based lattice Boltzmann parallelization approach for heterogeneous GPU–CPU clusters. Parallel Computing 37, 521–535 (2011)
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)
Yasuda, T., Satofuka, N.: An improved entropic lattice boltzmann model for parallel computation. Computers & Fluids (2011)
Higuera, F.J., Succi, S., Benzi, R.: Lattice gas dynamics with enhanced collisions. Europhys. Lett. 9, 345–349 (1989)
Succi, S.: The Lattice Boltzmann Equation for fluid dynamics and beyond. Claredon press, Oxford University Press (2001)
Karlin, I.V., Succi, S.: Equilibria for discrete kinetic equations. Phys. Rev. EÂ 58, 4053 (1998)
Ansumali, S., Karlin, I.V., Ottinger, H.C.: Minimal entropic kinetic models for hydrodynamics. EPL (Europhysics Letters)Â 63(6), 798 (2007)
Malaspinas, O., Deville, M., Chopard, B.: Towards a physical interpretation of the entropic lattice Boltzmann method. Phys. Rev. EÂ 78(6), 066705 (2008)
Chandra, R., Menon, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J.: Parallel Programming in OpenMP. Morgan Kaufmann (2001)
OpenMP (1997), http://openmp.org/
OpenMP 3.0 Status (2008), http://openmp.org/wp/2008/11/openmp-30-status/
Using Texture Memory in CUDA (2009), http://www.drdobbs.com/high-performance-computing/218100902
Geerdink, J.: Entropic and multiple relaxation time lattice Boltzmann methods compared for time harmonic flows (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)