CFD-based analysis and two-level aerodynamic optimization on Graphics Processing Units

Abstract This paper presents the porting of 2D and 3D Navier–Stokes equations solvers for unstructured grids, from the CPU to the graphics processing unit (GPU; NVIDIA’s Ge-Force GTX 280 and 285), using the CUDA language. The performance of the GPU implementations, with single, double or mixed precision arithmetic operations, is compared to that of the CPU code. Issues regarding the optimal handling of the unstructured grid topology on the GPU, particularly for vertex-centered CFD algorithms, are discussed. Restructuring the existing codes was necessary in order to maximize the parallel efficiency of the GPU implementations. The mixed precision implementation, in which the left-hand-side operators are computed with single precision, was shown to bridge the gap between the single and double precision speed-ups. Based on the different speed-ups and prediction accuracy of the aforementioned GPU implementations of the Navier–Stokes equations solver, a hierarchical optimization method which is suitable for GPUs is proposed and demonstrated in inviscid and turbulent 2D flow problems. The search for the optimal solution(s) splits into two levels, both relying upon evolutionary algorithms (EAs) though with different evaluation tools each. The low level EA uses the very fast single precision GPU implementation with relaxed convergence criteria for the inexpensive evaluation of candidate solutions. Promising solutions are regularly broadcast to the high level EA which uses the mixed precision GPU implementation of the same flow solver. Single- and two-objective aerodynamic shape optimization problems are solved using the developed software.

[1]  Bernhard Sendhoff,et al.  A framework for evolutionary optimization with approximate fitness functions , 2002, IEEE Trans. Evol. Comput..

[2]  Andy J. Keane,et al.  Computational Approaches for Aerospace Design: The Pursuit of Excellence , 2005 .

[3]  A. Jameson Optimum aerodynamic design using CFD and control theory , 1995 .

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

[5]  Marios K. Karakasis,et al.  Hierarchical distributed metamodel‐assisted evolutionary algorithms in shape optimization , 2007 .

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

[7]  Mark J. Harris Fast fluid dynamics simulation on the GPU , 2005, SIGGRAPH Courses.

[8]  Kyriakos C. Giannakoglou,et al.  Multilevel optimization strategies based on metamodel-assisted evolutionary algorithms, for computationally expensive problems , 2007, 2007 IEEE Congress on Evolutionary Computation.

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

[10]  D. I. Papadimitriou,et al.  Total pressure loss minimization in turbomachinery cascades using a new continuous adjoint formulation , 2007 .

[11]  Kyriakos C. Giannakoglou,et al.  Distributed evolutionary algorithms with hierarchical evaluation , 2009 .

[12]  Kyriakos C. Giannakoglou,et al.  Gradient-assisted radial basis function networks: theory and applications , 2004 .

[13]  Kyriakos C. Giannakoglou,et al.  Direct, adjoint and mixed approaches for the computation of Hessian in airfoil design problems , 2008 .

[14]  A. Ratle Optimal sampling strategies for learning a fitness model , 1999, Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406).

[15]  Z. K. Zhang,et al.  Global convergence of unconstrained and bound constrained surrogate-assisted evolutionary search in aerodynamic shape design , 2003, The 2003 Congress on Evolutionary Computation, 2003. CEC '03..

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

[17]  G. Janiga,et al.  Optimization and Computational Fluid Dynamics , 2008 .

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

[19]  Vincent Herbert,et al.  Hybrid method for aerodynamic shape optimization in automotive industry , 2004 .

[20]  W. K. Anderson,et al.  Aerodynamic design optimization on unstructured grids with a continuous adjoint formulation , 1997 .

[21]  Kyriakos C. Giannakoglou,et al.  A multilevel approach to single- and multiobjective aerodynamic optimization , 2008 .

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

[23]  Joshua D. Knowles,et al.  M-PAES: a memetic algorithm for multiobjective optimization , 2000, Proceedings of the 2000 Congress on Evolutionary Computation. CEC00 (Cat. No.00TH8512).

[24]  S. Peigin,et al.  Optimization of 3D wings based on Navier-Stokes solutions and genetic algorithms , 2006 .

[25]  K. Giannakoglou,et al.  Computation of the Hessian matrix in aerodynamic inverse design using continuous adjoint formulations , 2008 .

[26]  P. Roe Approximate Riemann Solvers, Parameter Vectors, and Difference Schemes , 1997 .

[27]  Simon Haykin,et al.  Neural Networks: A Comprehensive Foundation , 1998 .

[28]  Lothar Thiele,et al.  The Hypervolume Indicator Revisited: On the Design of Pareto-compliant Indicators Via Weighted Integration , 2007, EMO.

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

[30]  Marios K. Karakasis,et al.  Low-cost genetic optimization based on inexact pre-evaluations and the sensitivity analysis of design parameters , 2001 .

[31]  Timothy J. Barth,et al.  The design and application of upwind schemes on unstructured meshes , 1989 .

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

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

[34]  Michael B. Giles,et al.  Improved- lift and drag estimates using adjoint Euler equations , 1999 .

[35]  Gordon Erlebacher,et al.  Porting a high-order finite-element earthquake modeling application to NVIDIA graphics cards using CUDA , 2009, J. Parallel Distributed Comput..

[36]  M. Farina A neural network based generalized response surface multiobjective evolutionary algorithm , 2002, Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600).

[37]  Michael T. M. Emmerich,et al.  Single- and multiobjective evolutionary optimization assisted by Gaussian random field metamodels , 2006, IEEE Transactions on Evolutionary Computation.

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

[39]  Kyriakos C. Giannakoglou,et al.  Design of optimal aerodynamic shapes using stochastic optimization methods and computational intelligence , 2002 .

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

[41]  J. Kulpa,et al.  Time-frequency analysis using NVIDIA compute unified device architecture (CUDA) , 2009, Symposium on Photonics Applications in Astronomy, Communications, Industry, and High-Energy Physics Experiments (WILGA).

[42]  Antony Jameson,et al.  Aerodynamic design via control theory , 1988, J. Sci. Comput..

[43]  Kyriakos C. Giannakoglou,et al.  A continuous adjoint method with objective function derivatives based on boundary integrals, for inviscid and viscous flows , 2007 .

[44]  Marios K. Karakasis,et al.  On the use of metamodel-assisted, multi-objective evolutionary algorithms , 2006 .

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

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