A Template for Scalable Continuum Dynamic Simulations in Multiple GPUs

In this work we present a programming philosophy and a template code for achieving computational scalability when using multiple graphics processing units (GPUs) in the numerical solution of any mathematical system of equations found in continuum dynamic simulations. The programming philosophy exploits the principal characteristics of the GPU hardware, with emphasis in the delivering of threads with massive memory fetches, intense calculations using local registers and limited writes to global memory. The philosophy requires explicit formulas for calculations for which domain decomposition is trivial. The domains are decomposed in regions that use the local central processing unit (CPU) to communicate common interfaces using the message passing interface (MPI). A template code for the heat equation is established and tested for scalability. The novelty is that we show a series of codes, constructed from the basic template, that solve all the basic model equations found in continuum dynamics, and present illustrative results. The model equations are the heat equation, the Poisson equation, the shallow-water equations, the flow in porous media equations and the vorticity equations.

[1]  Krzysztof Banas,et al.  Numerical integration on GPUs for higher order finite elements , 2013, Comput. Math. Appl..

[2]  Peter Huthwaite,et al.  Accelerated finite element elastodynamic simulations using the GPU , 2014, J. Comput. Phys..

[3]  R. LeVeque Finite Volume Methods for Hyperbolic Problems: Characteristics and Riemann Problems for Linear Hyperbolic Equations , 2002 .

[4]  M. Schweitzer Generalizations of the Finite Element Method , 2012 .

[5]  William J. Dally,et al.  GPUs and the Future of Parallel Computing , 2011, IEEE Micro.

[6]  M. Falcone,et al.  Semi-Lagrangian Approximation Schemes for Linear and Hamilton-Jacobi Equations , 2014 .

[7]  F. Ozguner,et al.  Review of domain-decomposition methods for the implementation of FEM on massively parallel computers , 1995 .

[8]  Dmitri Kuzmin,et al.  Finite Element Methods for Computational Fluid Dynamics: A Practical Guide , 2014 .

[9]  Hamouine Abdelmadjid,et al.  A state-of-the-art review of the X-FEM for computational fracture mechanics , 2009 .

[10]  Robert Strzodka,et al.  Exploring weak scalability for FEM calculations on a GPU-enhanced cluster , 2007, Parallel Comput..

[11]  Krzysztof Banas,et al.  Finite Element Numerical Integration on GPUs , 2009, PPAM.

[12]  Filip Kruel,et al.  Vectorized OpenCL implementation of numerical integration for higher order finite elements , 2013 .

[13]  Y. Saad,et al.  GMRES: a generalized minimal residual algorithm for solving nonsymmetric linear systems , 1986 .

[14]  Rüdiger Westermann,et al.  A real-time multigrid finite hexahedra method for elasticity simulation using CUDA , 2011, Simul. Model. Pract. Theory.

[15]  N. Sukumar,et al.  Archives of Computational Methods in Engineering Recent Advances in the Construction of Polygonal Finite Element Interpolants , 2022 .

[16]  Stefan Turek,et al.  UCHPC – UnConventional High Performance Computing for Finite Element Simulations , 2011 .

[17]  Eugenio Oñate,et al.  Particle-Based Methods , 2011 .

[18]  T. Belytschko,et al.  A review of extended/generalized finite element methods for material modeling , 2009 .

[19]  G. Strang,et al.  An Analysis of the Finite Element Method , 1974 .

[20]  O. C. Zienkiewicz,et al.  Recent developments in FEM-CFD , 1985 .

[21]  Fengshun Lu,et al.  Scalability Analysis of Parallel Algorithms on GPU Clusters , 2014 .

[22]  Song Cen,et al.  Advanced Finite Element Method in Structural Engineering , 2009 .

[23]  Francisco Mandujano,et al.  A novel and scalable Multigrid algorithm for many-core architectures , 2011, ArXiv.

[24]  Particle-based methods : fundamentals and applications , 2011 .

[25]  Jacques M. Bahi,et al.  Parallel sparse linear solver with GMRES method using minimization techniques of communications for GPU clusters , 2014, The Journal of Supercomputing.

[26]  Krzysztof Banas,et al.  3D finite element numerical integration on GPUs , 2010, ICCS.

[27]  William J. Dally,et al.  The GPU Computing Era , 2010, IEEE Micro.

[28]  Jesús Martínez-Frutos,et al.  Fine-grained GPU implementation of assembly-free iterative solver for finite element problems , 2015 .