Abstract
This work proposes several approaches to accelerate the solid–fluid interaction through the use of the Immersed Boundary method on multicore and GPU architectures. Different optimizations on both architectures have been proposed, focusing on memory management and workload mapping. We have chosen two different test scenarios which consist of single-solid and multiple-solid simulations. The performance analysis has been carried out on an intensive set of test cases to analyze the proposed optimizations using multiple CPUs (2) and GPUs (4). An effective performance is obtained for single-solid executions using one CPU (Intel Xeon E5520) achieving a speedup peak equal to 5.5. It is reached a higher benefit on multiple solids obtaining a top speedup of approximately 5.9 and 9 using one CPU (8 cores) and two CPUs (16 cores), respectively. On GPU (Kepler K20c) architecture, two different approaches are presented as the best alternative: one for single-solid executions and one for multiple-solid executions. The best approach obtained for one solid executions achieves a speedup of approximately 17 with respect the sequential counterpart. In contrast, for multiple-solid executions the benefit is much higher, being this type of problems much more suitable for GPU and reaching a peak speedup of 68, 115 and 162 using 1, 2 and 4 GPUs, respectively.
Similar content being viewed by others
References
Xu S, Wang ZJ (2006) An immersed interface method for simulating the interaction of a fluid with movies boundaries. J Comput Phys 216(2):454–493
Calhoun D (2002) A Cartesian grid method for solving the two-dimensional streamfunction-vorticity equations in irregular regions. J Comput Phys 176(2):231–275
Russell D, Wang ZJ (2003) A Cartesian grid method for modelling multiple moving objects in 2D incompressible viscous flows. J Comput Phys 191:177–205
Lima E Silva ALF, Silveira-Neto A, Damasceno JJR (2003) Numerical simulation of two-dimensional flows over circular cylinder using immersed boundary method. J Comput Phys 189:351–370
Tutar M, Holdo AE (2001) Computational modelling of flow around cylinder in sub-critical flow regime with various turbulence models. Int J Numer Methods Fluids 35(7):763–784
Norbeg C (2003) Fluctuating lift on a circular cylinder: review and new measurements. J Fluids Struct 17(1):57–96
Ong L, Wallace J (1996) The velocity field of a turbulent very near wake of a circular cylinder. Exp Fluids 20(6):441–453
Goodnight N (2011) CUDA/OpenGL fluid simulation. http://new.math.uiuc.edu/MA198-2008/schamber2/fluidsGL
Tolke J (2010) Implementation of a Lattice Boltzmann kernel using the compute unified device architecture developed by nVIDIA. Comput Visual Sci 13(1):29–39
Zhao Y (2007) Lattice Boltzmann based PDE solver on the GPU. Vis Comput 24(5):323–333
Bernaschi M, Fatica M, Melchiona S, Succi S, Kaxiras E (2010) A flexible high-performance Lattice Boltzmann GPU code for the simulations of fluid flows in complex geometries. Concurrency Computa Pract Exper 22:1–14
Rinaldi PR, Dari EA, Vénere MJ, Clausse A (2012) A Lattice–Boltzmann solver for 3D fluid simulation on GPU. Simul Model Pract Theory 55:163–171
Zhou H, Mo G, Wu F, Zhao J, Rui M, Cen K (2012) GPU implementation of lattice Boltzmann method for flows with curved boundaries. Comput Methods Appl Mech Eng, 225–228
Peskin CS (2002) The immersed boundary method. Acta Numer 11:479–517
Uhlmann M (2005) An immersed boundary method with direct forcing for the simulation of particulate flows. J Comput Phys 209(2):448–476
Zhu L, Peskin CS (2000) Interaction of two flapping filament in a flow soap film. Phys Fluids 15:1954–1960
Zhu L, Peskin CS (2002) Simulation of a flapping flexible filament in a flowing soap film by the immersed boundary method. Phys Fluids 179:452–468
Pinelli A, Naqavi I, Piomelli U, Favier J (2010) Immersed-Boundary methods for general finite-differences and finite-volume Navier–Stokes solvers. J Comput Phys 229(24):9073–9091
L’opez-Portugués M, López-Fernández JA, José Ranilla, Ayestarán RG, Las-Heras F (2013) Parallelization of the FMM on distributed-memory GPGPU systems for acoustic-scattering prediction. J Supercomput 64(1):17–27
López-Portugués M, López-Fernández JA, Díaz-Gracia N, Ayestarán RG, José Ranilla (2014) Aircraft noise scattering prediction using different accelerator architectures, pp 1–11
Laytona SK, Krishnana A, Barbaa LA (2011) cuIBM—a GPU-accelerated immersed boundary method. 23rd international conference on parallel computational fluid dynamics (ParCFD)
Taira K, Colonius T (2007) The immersed boundary method: a projection approach. J Comput Phys 225(2):2118–2137
Favier J, Revell A, Pinelli A (2013) A lattice boltzmann-immersed boundary method to simulate the fluid interaction with moving and slender flexible objects. HAL hal (00822044)
Roma AM, Peskin CS, Berger MJ (1999) An adaptive version of the immersed boundary method. J Comput Phys 153:509–534
CETA-CIEMAT. http://www.ceta-ciemat.es
Acknowledgments
This work has been supported by the Spanish Consolider grant Supercomputación y e-Ciencia (SyeC) (Ref: CSD2007-00050) and by the computing facilities of Extremadura Research Centre for Advanced Technologies (CETA-CIEMAT) [25]. The author would like to thank Julien Favier, Assistant Professor at Aix Marseille Université, Alfredo Pinelli at Full Professor at City of London University and Manuel Prieto-Matias at Complutense University of Madrid, for the valuable feedback on this work.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Valero-Lara, P. Accelerating solid–fluid interaction based on the immersed boundary method on multicore and GPU architectures. J Supercomput 70, 799–815 (2014). https://doi.org/10.1007/s11227-014-1262-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-014-1262-2