GPU accelerated blood flow computation using the Lattice Boltzmann Method

We propose a numerical implementation based on a Graphics Processing Unit (GPU) for the acceleration of the execution time of the Lattice Boltzmann Method (LBM). The study focuses on the application of the LBM for patient-specific blood flow computations, and hence, to obtain higher accuracy, double precision computations are employed. The LBM specific operations are grouped into two kernels, whereas only one of them uses information from neighboring nodes. Since for blood flow computations regularly only 1/5 or less of the nodes represent fluid nodes, an indirect addressing scheme is used to reduce the memory requirements. Three GPU cards are evaluated with different 3D benchmark applications (Poisseuille flow, lid-driven cavity flow and flow in an elbow shaped domain) and the best performing card is used to compute blood flow in a patient-specific aorta geometry with coarctation. The speed-up over a multi-threaded CPU code is of 19.42x. The comparison with a basic GPU based LBM implementation demonstrates the importance of the optimization activities.

[1]  Alfio Quarteroni,et al.  A modular lattice boltzmann solver for GPU computing processors , 2012 .

[2]  A. Hoekstra,et al.  Mesoscopic simulations of systolic flow in the human abdominal aorta. , 2006, Journal of biomechanics.

[3]  P. Lallemand,et al.  Momentum transfer of a Boltzmann-lattice fluid with boundaries , 2001 .

[4]  Massimo Bernaschi,et al.  A flexible high‐performance Lattice Boltzmann GPU code for the simulations of fluid flows in complex geometries , 2010, Concurr. Comput. Pract. Exp..

[5]  Dinan Wang,et al.  Non-Newtonian blood flow simulation in cerebral aneurysms , 2009, Comput. Math. Appl..

[6]  D. R. Golbert,et al.  Tuning a lattice-Boltzmann model for applications in computational hemodynamics. , 2012, Medical engineering & physics.

[7]  Jonas Latt,et al.  Hydrodynamic limit of lattice Boltzmann equations , 2007 .

[8]  Jie Cheng,et al.  Programming Massively Parallel Processors. A Hands-on Approach , 2010, Scalable Comput. Pract. Exp..

[9]  Mahmoud Ismail,et al.  CFD Challenge: Hemodynamic Simulation of a Patient-Specific Aortic Coarctation Model with Adjoint-Based Calibrated Windkessel Elements , 2012, STACOM.

[10]  Manfred Krafczyk,et al.  TeraFLOP computing on a desktop PC with GPUs for 3D CFD , 2008 .

[11]  David A. Steinman,et al.  Image-Based Modeling of Blood Flow and Vessel Wall Dynamics: Applications, Methods and Future Directions , 2010, Annals of Biomedical Engineering.

[12]  Massimo Bernaschi,et al.  Hydrokinetic approach to large-scale cardiovascular blood flow , 2010, Comput. Phys. Commun..

[13]  Bernard Tourancheau,et al.  TOWARDS URBAN-SCALE FLOW SIMULATIONS USING THE LATTICE BOLTZMANN METHOD , 2011 .

[14]  Q. Zou,et al.  On pressure and velocity boundary conditions for the lattice Boltzmann BGK model , 1995, comp-gas/9611001.

[15]  Peter Bailey,et al.  Accelerating Lattice Boltzmann Fluid Flow Simulations Using Graphics Processors , 2009, 2009 International Conference on Parallel Processing.

[16]  Kerry McEnaney,et al.  Intermediate Outcomes in the Prospective, Multicenter Coarctation of the Aorta Stent Trial (COAST) , 2015, Circulation.

[17]  J. Boon The Lattice Boltzmann Equation for Fluid Dynamics and Beyond , 2003 .

[18]  Hanspeter Pfister,et al.  A Lattice Boltzmann Simulation of Hemodynamics in a Patient-Specific Aortic Coarctation Model , 2012, STACOM.