Automatic Generation of Massively Parallel Codes from ExaSlang
Author(s): Kuckuk S, Köstler H
Publication year: 2016
Journal issue: 3
Pages range: 1-20
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.
FAU Authors / FAU Editors How to cite
APA: Kuckuk, S., & Köstler, H. (2016). Automatic Generation of Massively Parallel Codes from ExaSlang. Computation, 4(3), 1-20.
MLA: Kuckuk, Sebastian, and Harald Köstler. "Automatic Generation of Massively Parallel Codes from ExaSlang." Computation 4.3 (2016): 1-20.