Towards whole program generation of quadrature-free discontinuous Galerkin methods for the shallow water equations

Towards whole program generation of quadrature-free discontinuous Galerkin methods for the shallow water equations

Sara Faghih-Naini
Department of Computer Science
Friedrich-Alexander-Universität
Erlangen-Nürnberg, Germany
Alfred Wegener Institute
Helmholtz Centre for Polar and Marine Research
Bremerhaven, Germany &Sebastian Kuckuk
Department of Computer Science
Friedrich-Alexander-Universität
Erlangen-Nürnberg, Germany
&Vadym Aizinger
Department of Mathematics
Friedrich-Alexander-Universität
Erlangen-Nürnberg, Germany
Alfred Wegener Institute
Helmholtz Centre for Polar and Marine Research
Bremerhaven, Germany
&Daniel Zint
Department of Computer Science
Friedrich-Alexander-Universität
Erlangen-Nürnberg, Germany
&Roberto Grosso
Department of Computer Science
Friedrich-Alexander-Universität
Erlangen-Nürnberg, Germany
&Harald Köstler
Department of Computer Science
Friedrich-Alexander-Universität
Erlangen-Nürnberg, Germany
harald.koestler@fau.de
Abstract

The shallow water equations (SWE) are a commonly used model to study tsunamis, tides, and coastal ocean circulation. However, there exist various approaches to discretize and solve them efficiently. Which of them is best for a certain scenario is often not known and, in addition, depends heavily on the used HPC platform. From a simulation software perspective, this places a premium on the ability to adapt easily to different numerical methods and hardware architectures. One solution to this problem is to apply code generation techniques and to express methods and specific hardware-dependent implementations on different levels of abstraction. This allows for a separation of concerns and makes it possible, e.g., to exchange the discretization scheme without having to rewrite all low-level optimized routines manually. In this paper, we show how code for an advanced quadrature-free discontinuous Galerkin (DG) discretized shallow water equation solver can be generated. Here, we follow the multi-layered approach from the ExaStencils project that starts from the continuous problem formulation, moves to the discrete scheme, spells out the numerical algorithms, and, finally, maps to a representation that can be transformed to a distributed memory parallel implementation by our in-house Scala-based source-to-source compiler. Our contributions include: A new quadrature-free discontinuous Galerkin formulation, an extension of the class of supported computational grids, and an extension of our toolchain allowing to evaluate discrete integrals stemming from the DG discretization implemented in Python. As first results we present the whole toolchain and also demonstrate the convergence of our method for higher order DG discretizations. \keywordsshallow water equations local discontinuous Galerkin discretization mixed formulation quadrature-free domain specific languages python code generation

\DeclareAcronym

SWEshort=SWE,long=shallow water equations \DeclareAcronymCFLshort=CFL,long=Courant-Friedrichs-Lewy \DeclareAcronymDGshort=DG,long=Discontinuous Galerkin \DeclareAcronymDSLshort=DSL,long=domain-specific language \DeclareAcronymHPCshort=HPC,long=high performance computing \DeclareAcronymLSEshort=LSE,long=linear system of equations \DeclareAcronymMLUpSshort=MLUpS,long=million lattice updates per second \DeclareAcronymSPHshort=SPH,long=smoothed particle hydrodynamics \DeclareAcronymPDEshort=PDE,long=partial differential equation \DeclareAcronymUFLshort=UFL,long=unified form language

Acknowledgements

The authors acknowledge financial support by the German Research Foundation (DFG) through grants AI 117/6-1, KO 4641/1-1, and GR 1107/3-1.

References

Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
""
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
   
Add comment
Cancel
Loading ...
354829
This is a comment super asjknd jkasnjk adsnkj
Upvote
Downvote
""
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters
Submit
Cancel

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test
Test description