Generation of high-performance code based on a domain-specific language for algorithmic skeletons

Wrede Fabian, Rieger Christoph, Kuchen Herbert


Zusammenfassung
Parallel programming can be difficult and error prone, in particular if low-level optimizations are required in order to reach high performance in complex environments such as multi-core clusters using MPI and OpenMP. One approach to overcome these issues is based on algorithmic skeletons. These are predefined patterns which are implemented in parallel and can be composed by application programmers without taking care of low-level programming aspects. Support for algorithmic skeletons is typically provided as a library. However, optimizations are hard to implement in this setting and programming might still be tedious because of required boiler plate code. Thus, we propose a domain-specific language for algorithmic skeletons that performs optimizations and generates low-level C++ code. Our experimental results on four benchmarks show that the models are significantly shorter and that the execution time and speedup of the generated code often outperform equivalent library implementations using the Muenster Skeleton Library.



Publikationstyp
Forschungsartikel (Zeitschrift)

Begutachtet
Ja

Publikationsstatus
Veröffentlicht

Jahr
2020

Fachzeitschrift
The Journal of Supercomputing

Band
75

Erste Seite
1

Letzte Seite
19

Sprache
Englisch

ISSN
1573-0484

DOI

Gesamter Text