Navigation and service

Advanced Stencil-Code Engineering for Parallel Multigrid

Principal Investigator: Harald Köstler, Friedrich-Alexander Universität Erlangen-Nürnberg (Germany)
HPC Platform: 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).

Advanced Stencil-Code Engineering for Parallel MultigridIllustration of a finite volume discretization on non-uniform staggered grids.
Copyright: from: S. Kuckuk, G. Haase, D. Vasco, H. Köstler; Towards generating efficient flow solvers with the ExaStencils approach; Concurrency and Computation: Practice and Experience; 2017.

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.

Advanced Stencil-Code Engineering for Parallel MultigridWorkflow depicting the generation of high-performance target code for stencil-based applications.
Copyright: from: Lengauer C. et al. (2014) ExaStencils: Advanced Stencil-Code Engineering. In: Lopes L. et al. (eds) Euro-Par 2014: Parallel Processing Workshops. Euro-Par 2014. Lecture Notes in Computer Science, vol 8806. Springer, Cham

Scientific Contact:

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 [@]

March 2017