Advanced Stencil-Code Engineering for Parallel Multigrid
Friedrich-Alexander Universität Erlangen-Nürnberg (Germany)
Local Project ID:
HPC Platform used:
JUQUEEN of JSC
Project ExaStencils develops new software technology for applications which reach out for exascale performance. The project partners come from the Friedrich-Alexander University Erlangen-Nürnberg (Harald Köstler, Ulrich Rüde, Jürgen Teich, Frank Hannig), the University of Passau (Christian Lengauer, Sven Apel), the University of Kassel (Matthias Bolten) and the University of Tokyo (Shigeru Chiba).
The focus of ExaStencils lies on stencil codes that are used for the numerical solution of partial differential equations on block-structured grids. Partial differential equations occur quite frequently as mathematical models for various simulation tasks in the natural sciences or engineering.
The subject of ExaStencils’ special-purpose compiler, written in Scala, is the multi-layered domain-specific language ExaSlang that allows the users to formulate their problems in an abstract representation starting close to the continuous mathematical model. The complete program specification subsequently generated is expressed in a language similar to C. Internally code transformations are used to generate efficient target code for various platforms. The target code generated for HPC system JUQUEEN is in MPI-parallel C++ and is capable of solving elliptic partial differential equations via a scalable geometric multigrid solver. Also automatically generated is the necessary infrastructure for running the code (e.g., job scripts) and evaluating the obtained results (e.g., automated tests).
The framework of this project has the potential of drastically improving the productivity when writing new stencil-based applications for JUQUEEN, since the parallelization and target-specific optimization is automatic. The biggest challenge is the handling of the large parameter space during the code generation process. This is addressed by machine learning techniques, where one tries to quantify the influence of certain parameters on others. Based on this information, an optimal configuration is selected.
At present, first real applications like non-Newtonian fluid simulations are studied.
PD Dr.-Ing. Harald Köstler
Informatik 10 - Computational Engineering
Friedrich-Alexander Universität Erlangen-Nürnberg
Cauerstr. 11, D-91058 Erlangen (Germany)
e-mail: harald.koestler [@] fau.de