An Efficient Graphics Processing Unit Scheme for Complex Geometry Simulations Using the Lattice Boltzmann Method

The lattice Boltzmann method has been fully discretized in space, time, and velocity; its inherent parallelism makes it outstanding for use in accelerated computation by graphics processing unit in large-scale simulations of fluid dynamics. When the lattice Boltzmann method is used to simulate a fluid system with complex geometry, the flow field is usually compressed to reduce memory consumption, and fluid nodes are accessed indirectly to improve computational efficiency. We designed a pointer array that is the same size as the flow field and is based on the Compute Unified Device Architecture platform’s unified memory technology. The addresses of the fluid nodes are stored in this array, and the other nodes, which are unallocated, are marked as null. For obtaining the coordinates of the fluid nodes in the original flow field, we stored the addresses of the pointer array units whose values were not null as part of the lattice attribute at the end of the lattice attribute array, forming a cyclic pointer structure to track geometric information. We validated the feasibility of this addressing scheme using an experimental simulation of aqueous humor in the anterior segment of the eye, and tested its performance on the graphics processing unit of Pascal, Volta, and Turing architecture. The present method carefully distributes data to generate fewer memory transactions and to reduce access times of the global memory, thus achieving approximately 18% performance improvement.

[1]  Cosmin Nita,et al.  GPU accelerated blood flow computation using the Lattice Boltzmann Method , 2013, 2013 IEEE High Performance Extreme Computing Conference (HPEC).

[2]  Zhaoli Guo,et al.  A LATTICE BOLTZMANN MODEL FOR CONVECTION HEAT TRANSFER IN POROUS MEDIA , 2005 .

[3]  E. Boer,et al.  Longitudinal changes in quality of life and rates of progressive visual field loss in glaucoma patients. , 2015, Ophthalmology.

[4]  Bharat Kaul,et al.  Data structure and movement for lattice-based simulations. , 2013, Physical review. E, Statistical, nonlinear, and soft matter physics.

[5]  Marcelo J. Vénere,et al.  A Lattice-Boltzmann solver for 3D fluid simulation on GPU , 2012, Simul. Model. Pract. Theory.

[6]  M. Januszewski,et al.  Sailfish: A flexible multi-GPU implementation of the lattice Boltzmann method , 2013, Comput. Phys. Commun..

[7]  Zhenhua Chai,et al.  Multi-GPU Based Lattice Boltzmann Method for Hemodynamic Simulation in Patient-Specific Cerebral Aneurysm , 2015 .

[8]  Ulrich Rüde,et al.  Performance modeling and analysis of heterogeneous lattice Boltzmann simulations on CPU-GPU clusters , 2015, Parallel Comput..

[9]  Arie E. Kaufman,et al.  GPU Cluster for High Performance Computing , 2004, Proceedings of the ACM/IEEE SC2004 Conference.

[10]  Gerhard Wellein,et al.  Comparison of different propagation steps for lattice Boltzmann methods , 2011, Comput. Math. Appl..

[11]  V. Barocas,et al.  Modeling passive mechanical interaction between aqueous humor and iris. , 2001, Journal of biomechanical engineering.

[12]  Wilhelm Stork,et al.  Prediction of temperature and damage in an irradiated human eye - Utilization of a detailed computer model which includes a vectorial blood stream in the choroid , 2014, Comput. Biol. Medicine.

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

[14]  Shiyi Chen,et al.  LATTICE BOLTZMANN METHOD FOR FLUID FLOWS , 2001 .

[15]  Vincent J. Ervin,et al.  Numerical simulations of fluid pressure in the human eye , 2013, Appl. Math. Comput..

[16]  J. Tu,et al.  Investigation of saccadic eye movement effects on the fluid dynamic in the anterior chamber. , 2012, Journal of biomechanical engineering.

[17]  Seyong Lee,et al.  GPU Data Access on Complex Geometries for D3Q19 Lattice Boltzmann Method , 2018, 2018 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[18]  Jeffrey J. Heys,et al.  A Boussinesq Model of Natural Convection in the Human Eye and the Formation of Krukenberg's Spindle , 2002, Annals of Biomedical Engineering.

[19]  José Augusto Ferreira,et al.  Numerical simulation of aqueous humor flow: From healthy to pathologic situations , 2014, Appl. Math. Comput..

[20]  C. Ross Ethier,et al.  Fluid Mechanics of the Eye , 2012 .

[21]  Bastien Chopard,et al.  Lattice Gas: An Efficient and Reusable Parallel Library Based on a Graph Partitioning Technique , 1999, HPCN Europe.

[22]  Gerhard Wellein,et al.  On the single processor performance of simple lattice Boltzmann kernels , 2006 .

[23]  Theodoros Samaras,et al.  Numerical model of heat transfer in the human eye with consideration of fluid dynamics of the aqueous humour , 2010, Physics in medicine and biology.

[24]  F. Yuan,et al.  Numerical Simulations of Ethacrynic Acid Transport from Precorneal Region to Trabecular Meshwork , 2010, Annals of Biomedical Engineering.

[25]  B. Shi,et al.  Discrete lattice effects on the forcing term in the lattice Boltzmann method. , 2002, Physical review. E, Statistical, nonlinear, and soft matter physics.