<?xml version="1.0" encoding="utf-8"?>
<export-example>
  <doc>
    <id>7933</id>
    <completedYear/>
    <publishedYear>2021</publishedYear>
    <thesisYearAccepted/>
    <language>eng</language>
    <pageFirst>185</pageFirst>
    <pageLast>196</pageLast>
    <pageNumber/>
    <edition/>
    <issue/>
    <volume/>
    <type>article</type>
    <publisherName>Springer</publisherName>
    <publisherPlace/>
    <creatingCorporation/>
    <contributingCorporation/>
    <belongsToBibliography>0</belongsToBibliography>
    <completedDate>--</completedDate>
    <publishedDate>--</publishedDate>
    <thesisDateAccepted>--</thesisDateAccepted>
    <title language="eng">HighPerMeshes - A Domain-Specific Language for Numerical Algorithms on Unstructured Grids</title>
    <abstract language="eng">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 HighPer-Meshes 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 method 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.</abstract>
    <parentTitle language="eng">Euro-Par 2020: Parallel Processing Workshops.</parentTitle>
    <identifier type="doi">10.1007/978-3-030-71593-9_15</identifier>
    <enrichment key="PeerReviewed">yes</enrichment>
    <enrichment key="AcceptedDate">2020-07-22</enrichment>
    <author>Samer Alhaddad</author>
    <submitter>Merlind Schotte</submitter>
    <author>Jens Förstner</author>
    <author>Stefan Groth</author>
    <author>Daniel Grünewald</author>
    <author>Yevgen Grynko</author>
    <author>Frank Hannig</author>
    <author>Tobias Kenter</author>
    <author>Franz-Josef Pfreundt</author>
    <author>Christian Plessl</author>
    <author>Merlind Schotte</author>
    <author>Thomas Steinke</author>
    <author>Jürgen Teich</author>
    <author>Martin Weiser</author>
    <author>Florian Wende</author>
    <collection role="institutes" number="num">Numerical Mathematics</collection>
    <collection role="institutes" number="vas">Distributed Algorithms and Supercomputing</collection>
    <collection role="persons" number="steinke">Steinke, Thomas</collection>
    <collection role="persons" number="weiser">Weiser, Martin</collection>
    <collection role="projects" number="HighPerMeshes">HighPerMeshes</collection>
    <collection role="institutes" number="MSoCP">Modeling and Simulation of Complex Processes</collection>
  </doc>
  <doc>
    <id>8334</id>
    <completedYear/>
    <publishedYear>2022</publishedYear>
    <thesisYearAccepted/>
    <language>eng</language>
    <pageFirst/>
    <pageLast/>
    <pageNumber/>
    <edition/>
    <issue>14</issue>
    <volume>34</volume>
    <type>article</type>
    <publisherName/>
    <publisherPlace/>
    <creatingCorporation/>
    <contributingCorporation/>
    <belongsToBibliography>0</belongsToBibliography>
    <completedDate>2021-09-21</completedDate>
    <publishedDate>--</publishedDate>
    <thesisDateAccepted>--</thesisDateAccepted>
    <title language="eng">The HighPerMeshes Framework for Numerical Algorithms on Unstructured Grids</title>
    <abstract language="eng">Solving PDEs on unstructured grids is a cornerstone of engineering and scientific computing. Heterogeneous parallel platforms, including CPUs, GPUs, and FPGAs, enable energy-efficient and computationally demanding simulations.&#13;
In this article, we introduce the HPM C++-embedded DSL that bridges the abstraction gap between the mathematical formulation of mesh-based algorithms for PDE problems on the one hand and an increasing number of heterogeneous platforms with their different programming models on the other hand.&#13;
Thus, the HPM 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 HPM DSL, and demonstrate its usage with three examples. The mapping of the abstract algorithmic description onto parallel hardware, including distributed memory compute clusters, is presented.&#13;
A code generator and a matching back end allow the acceleration of HPM code with GPUs. Finally, the achievable performance and scalability are demonstrated for different example problems.</abstract>
    <parentTitle language="eng">Concurrency and Computation: Practice and Experience</parentTitle>
    <identifier type="doi">10.1002/cpe.6616</identifier>
    <enrichment key="PeerReviewed">yes</enrichment>
    <enrichment key="AcceptedDate">2021-09-01</enrichment>
    <enrichment key="opus.source">publish</enrichment>
    <author>Samer Alhaddad</author>
    <submitter>Martin Weiser</submitter>
    <author>Jens Förstner</author>
    <author>Stefan Groth</author>
    <author>Daniel Grünewald</author>
    <author>Yevgen Grynko</author>
    <author>Frank Hannig</author>
    <author>Tobias Kenter</author>
    <author>F.J. Pfreundt</author>
    <author>Christian Plessl</author>
    <author>Merlind Schotte</author>
    <author>Thomas Steinke</author>
    <author>J. Teich</author>
    <author>Martin Weiser</author>
    <author>Florian Wende</author>
    <collection role="institutes" number="vas">Distributed Algorithms and Supercomputing</collection>
    <collection role="persons" number="steinke">Steinke, Thomas</collection>
    <collection role="persons" number="weiser">Weiser, Martin</collection>
    <collection role="projects" number="HighPerMeshes">HighPerMeshes</collection>
    <collection role="institutes" number="MSoCP">Modeling and Simulation of Complex Processes</collection>
  </doc>
</export-example>
