Automatic Generation of Massively Parallel Codes from ExaSlang
Department of Computer Science, Friedrich-Alexander Universität Erlangen-Nürnberg, 91058 Erlangen, Germany
*
Authors to whom correspondence should be addressed.
†
Current address: Cauerstraße 11, 91058 Erlangen, Germany
Academic Editor: Demos T. Tsahalis
Computation 2016, 4(3), 27; https://doi.org/10.3390/computation4030027
Received: 19 June 2016 / Revised: 22 July 2016 / Accepted: 26 July 2016 / Published: 4 August 2016
(This article belongs to the Special Issue High Performance Computing (HPC) Software Design)
Domain-specific languages (DSLs) have the potential to provide an intuitive interface for specifying problems and solutions for domain experts. Based on this, code generation frameworks can produce compilable source code. However, apart from optimizing execution performance, parallelization is key for pushing the limits in problem size and an essential ingredient for exascale performance. We discuss necessary concepts for the introduction of such capabilities in code generators. In particular, those for partitioning the problem to be solved and accessing the partitioned data are elaborated. Furthermore, possible approaches to expose parallelism to users through a given DSL are discussed. Moreover, we present the implementation of these concepts in the ExaStencils framework. In its scope, a code generation framework for highly optimized and massively parallel geometric multigrid solvers is developed. It uses specifications from its multi-layered external DSL ExaSlang as input. Based on a general version for generating parallel code, we develop and implement widely applicable extensions and optimizations. Finally, a performance study of generated applications is conducted on the JuQueen supercomputer.
View Full-Text
Keywords:
domain-specific languages; code generation; automatic parallelization; stencil computations; external DSLs; automatic code optimization; geometric multigrid
▼
Show Figures
This is an open access article distributed under the Creative Commons Attribution License which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited
MDPI and ACS Style
Kuckuk, S.; Köstler, H. Automatic Generation of Massively Parallel Codes from ExaSlang. Computation 2016, 4, 27. https://doi.org/10.3390/computation4030027
AMA Style
Kuckuk S, Köstler H. Automatic Generation of Massively Parallel Codes from ExaSlang. Computation. 2016; 4(3):27. https://doi.org/10.3390/computation4030027
Chicago/Turabian StyleKuckuk, Sebastian; Köstler, Harald. 2016. "Automatic Generation of Massively Parallel Codes from ExaSlang" Computation 4, no. 3: 27. https://doi.org/10.3390/computation4030027
Find Other Styles
Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.
Search more from Scilit