SearcharxivSearch

arXiv subjects

Sara Faghih-Naini

Publications and source records attributed to Sara Faghih-Naini.

3 recordsLinked to original sources

p-adaptive discontinuous Galerkin method for the shallow water equations on heterogeneous computing architectures

Heterogeneous computing and exploiting integrated CPU-GPU architectures has become a clear current trend since the flattening of Moore's Law. In this work, we propose a numerical and algorithmic re-design of a p-adaptive quadrature-free discontinuous Galerkin method (DG) for the shallow water equations (SWE). Our new approach separates the computations of the non-adaptive (lower-order) and adaptive (higher-order) parts of the discretization form each other. Thereby, we can overlap computations of the lower-order and the higher-order DG solution components. Furthermore, we investigate execution times of main computational kernels and use automatic code generation to optimize their distribution between the CPU and GPU. Several setups, including a prototype of a tsunami simulation in a tide-driven flow scenario, are investigated, and the results show that significant performance improvements can be achieved in suitable setups.

cs.MS

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

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.

cs.MS