Automatic Generation of Massively Parallel Codes from ExaSlang
AbstractDomain-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
Share & Cite This Article
Kuckuk, S.; Köstler, H. Automatic Generation of Massively Parallel Codes from ExaSlang. Computation 2016, 4, 27.
Kuckuk S, Köstler H. Automatic Generation of Massively Parallel Codes from ExaSlang. Computation. 2016; 4(3):27.Chicago/Turabian Style
Kuckuk, Sebastian; Köstler, Harald. 2016. "Automatic Generation of Massively Parallel Codes from ExaSlang." Computation 4, no. 3: 27.
Note that from the first issue of 2016, MDPI journals use article numbers instead of page numbers. See further details here.