Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

HighPerMeshes - A Domain-Specific Language for Numerical Algorithms on Unstructured Grids

: Alhaddad, Samer; Förstner, Jens; Groth, Stefan; Grünewald, Daniel; Grynko, Yevgen; Hannig, Frank; Kenter, Tobias; Pfreundt, Franz-Josef; Plessl, Christian; Schotte, Merlind; Steinke, Thomas; Teich, Jürgen; Weiser, Martin; Wende, Florian


Balis, B.:
Euro-Par 2020: Parallel Processing Workshops : Euro-Par 2020 International Workshops, Warsaw, Poland, August 24-25, 2020, Revised Selected Papers
Cham: Springer Nature, 2021 (Lecture Notes in Computer Science 12480)
ISBN: 978-3-030-71592-2 (Print)
ISBN: 978-3-030-71593-9 (Online)
International Conference on Parallel and Distributed Computing (Euro-Par) <26, 2020, Online>
International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Platforms (HeteroPar) <18, 2020, Online>
Conference Paper
Fraunhofer ITWM ()

Solving partial differential equations on unstructured grids is a cornerstone of engineering and scientific computing. Nowadays, heterogeneous parallel platforms with CPUs, GPUs, and FPGAs enable energy-efficient and computationally demanding simulations. We developed the HighPerMeshes C++-embedded Domain-Specific Language (DSL) for bridging the abstraction gap between the mathematical and algorithmic formulation of mesh-based algorithms for PDE problems on the one hand and an increasing number of heterogeneous platforms with their different parallel programming and runtime models on the other hand. Thus, the HighPerMeshes DSL aims at higher productivity in the code development process for multiple target platforms. We introduce the concepts as well as the basic structure of the HighPerMeshes DSL, and demonstrate its usage with three examples, a Poisson and monodomain problem, respectively, solved by the continuous finite element method, and the discontinuous Galerkin m ethod for Maxwellâs equation. The mapping of the abstract algorithmic description onto parallel hardware, including distributed memory compute clusters, is presented. Finally, the achievable performance and scalability are demonstrated for a typical example problem on a multi-core CPU cluster.