A Runtime System for Finite Element Methods in a Partitioned Global Address Space - Groth, Stefan; Grünewald, Daniel; Teich, Jürgen; Hannig, Frank (Proceedings of the 17th ACM International Conference on Computing Frontiers (CF), 2020)
With approaching exascale performance, applications in the domain of High-Performance Computing (HPC) have to scale to an ever-increasing amount of compute nodes. The Global Address Space Programming Interface (GASPI) communication API promises to handle this challenge by providing a highly flexible and efficient programming model in a Partitioned Global Address Space (PGAS). Suitable applications targeting supercomputers include the domain of mesh-based solvers for Partial Differential Equations (PDEs) due to their high computational intensity. The implementation of such solvers is highly interdisciplinary, which therefore requires an abstraction of hardware-specific parallelization techniques from developing numerical algorithms. We present an open-source Run-Time System (RTS) that distributes and parallelizes device-agnostic kernels, which define algorithms on unstructured grids. We describe how the RTS abstracts common parts of iterative solvers and further explain how to parallelize and distribute these components. We further show the efficiency of our approach for several microbenchmarks and an implementation of the Discontinuous Galerkin Method (DGM). The results show that we can almost completely hide all synchronization overhead and that the RTS only imposes a small computational cos
Keywords: Runtime System; Finite Element Methods; PGAS; GASPI