Unsteady CFD computations using vertex‐centered finite volumes for unstructured grids on Graphics Processing Units

This paper presents a Navier–Stokes solver for steady and unsteady turbulent flows on unstructured/hybrid grids, with triangular and quadrilateral elements, which was implemented to run on Graphics Processing Units (GPUs). The paper focuses on programming issues for efficiently porting the CPU code to the GPU, using the CUDA language. Compared with cell-centered schemes, the use of a vertex-centered finite volume scheme on unstructured grids increases the programming complexity since the number of nodes connected by edge to any other node might vary a lot. Thus, delicate GPU memory handling is absolutely necessary in order to maximize the speed-up of the GPU implementation with respect to the Fortran code running on a single CPU core. The developed GPU-enabled code is used to numerically study steady and unsteady flows around the supercritical airfoil OAT15A, by laying emphasis on the transonic buffet phenomenon. The computations were carried out on NVIDIA's Ge-Force GTX 285 graphics cards and speed-ups up to ∼46 × (on a single GPU, with double precision arithmetic) are reported. Copyright © 2010 John Wiley & Sons, Ltd.

[1]  Naga K. Govindaraju,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007 .

[2]  P. Hanrahan,et al.  Sequoia: Programming the Memory Hierarchy , 2006, ACM/IEEE SC 2006 Conference (SC'06).

[3]  Eric Coustols,et al.  NUMERICAL PREDICTION OF SHOCK INDUCED OSCILLATIONS OVER A 2D AIRFOIL: INFLUENCE OF TURBULENCE MODELLING AND TEST SECTION WALLS , 2006, Proceeding of Fourth International Symposium on Turbulence and Shear Flow Phenomena.

[4]  Graham Pullan,et al.  Acceleration of a 3D Euler solver using commodity graphics hardware , 2008 .

[5]  Rainald Löhner,et al.  Running unstructured grid‐based CFD solvers on modern graphics hardware , 2009 .

[6]  Rüdiger Westermann,et al.  Linear algebra operators for GPU implementation of numerical algorithms , 2003, SIGGRAPH Courses.

[7]  Kyriakos C. Giannakoglou,et al.  CFD-based analysis and two-level aerodynamic optimization on Graphics Processing Units , 2010 .

[8]  Jostein R. Natvig,et al.  Solving the Euler Equations on Graphics Processing Units , 2006, International Conference on Computational Science.

[9]  Robert Strzodka,et al.  Using GPUs to improve multigrid solver performance on a cluster , 2008, Int. J. Comput. Sci. Eng..

[10]  SugermanJeremy,et al.  Brook for GPUs , 2004 .

[11]  Eric Darve,et al.  Large calculation of the flow over a hypersonic vehicle using a GPU , 2008, J. Comput. Phys..

[12]  Graham Pullan,et al.  Acceleration of a two-dimensional Euler flow solver using commodity graphics hardware , 2007 .

[13]  S. Deck Numerical Simulation of Transonic Buffet over a Supercritical Airfoil , 2005 .

[14]  Greg Humphreys,et al.  A multigrid solver for boundary value problems using programmable graphics hardware , 2003, HWWS '03.

[15]  P. Spalart A One-Equation Turbulence Model for Aerodynamic Flows , 1992 .

[16]  Azeddine Kourta,et al.  Buffeting in transonic flow prediction using time‐dependent turbulence model , 2005 .

[17]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, SIGGRAPH 2004.

[18]  D. Soulevant,et al.  Experimental Study of Shock Oscillation over a Transonic Supercritical Profile , 2009 .

[19]  Marie-Helene Lallemand Dissipative properties of Runge-Kutta schemes with upwind spatial approximation for the Euler equations , 1989 .

[20]  GrinspunEitan,et al.  Sparse matrix solvers on the GPU , 2003 .

[21]  William R. Mark,et al.  Cg: a system for programming graphics hardware in a C-like language , 2003, ACM Trans. Graph..