Matthias Bolten
(Chair of High Performance Computing / Software Engineering, University of Wuppertal)

Meta:

Shigeru Chiba
(Chair of Creative Informatics, The University of Tokyo)

Project Description

The central goal of ExaStencils is to develop a radically
new software technology for applications with exascale performance. To reach this goal, the project
focusses on a comparatively narrow but very important application domain. The aim is to enable a simple
and convenient formulation of problem solutions in this domain. The software technology developed in
ExaStencils shall facilitate the highly automatic
generation of a large variety of efficient implementations via the judicious use of domain-specific
knowledge in each of a sequence of optimization steps such that, at the end, exascale performance results.

The application domain chosen is that of stencil codes, i.e., compute-intensive algorithms in which data
points in a grid are redefined repeatedly as a combination of the values of neighboring points.
The neighborhood pattern used is called a stencil. Stencil codes are used for the solution of discrete
partial differential equations and the resulting linear systems.

The domain-specific optimization proceeds in five major steps:

Adaptation of the mathematical problem (ACS, LSS):

In a first step, the formulation of the mathematical algorithm is being optimized for efficiency
and scalability. This happens via a precise specification of the variabilities of operators and
solutions approaches, customized for the application problem and execution platform at hand.

Formulation of a program in a domain-specific language (CoD):

Next, the on-paper solution is being converted to an abstract but executable domain-specific
programming language (DSL) in which the major attributes of the solution can be specific easily.

Domain-specific optimization customized for the attributes of the stencil code (SE):

In a third step, software product-line technology is being used to exploit the similarities of
stencil codes for different applications. This way, a stencil code need not be developed from
scratch since it is not being viewed as an individual but as a member of a product line, which
is determined by the choice of its variants. The implementation of the stencil code then proceeds
automatically by composing its attributes, bringing domain-specific optimizations to bear that
are customized for the special nature and requirements of the application at hand.

Loop optimization in the polyhedron model (Prog):

Next, the polyhedron model of loop parallelization is being employed to optimize the stencil code
for a given cost function. This helps to maximize the performance and scalability of the code
by calibrating influences like parallelism, memory consumption and communication volume.

Platform-specific adaptations (CoD, LSS):

Last, the individual characteristics of the execution platform will be taken into account in
order to avoid unnecessary reductions in performance. Special consideration will be given to the
heterogeneity of future exascale architectures.

In the second project phase, an additional research topic is productivity:

Rapid prototyping of stencil DSLs (Meta):

The project pursues an external DSL approach in order not to be constrained by a host language in the pursuit of exascale performance. Case studies shall contrast this with an approach embedded in a JVM-based host language in order to evaluate the trade-off between performance and productivity.

Two initial ExaStencils case studies were in quantum chemistry and the simulation of non-Newtonian fluids. Further applications in the multigrid domain are feasible.

Project Phases: Two Posters (A0) and Latest Yearly Presentation

1st funding period (2013-2015)

2nd funding period (2016-2018)

5th-year project state (2017)

Project Particulars

LFA Lab: A library for convergence rate prediction using local Fourier analysis.

Multigrid methods have many parameters that influence the execution time of the method. To identify a good parameter configuration, we need to predict the execution time of the method for various parameter configurations.

It is not sufficient to predict the time of the individual operations that a method performs, but it is also necessary to predict their number. Multigrid methods are iterative, i.e., they compute a sequence of iterations that converge towards the solution sought. The number of iterations needed to reach a certain accuracy depends on the convergence rate of the method.

The parameters of a multigrid method influence its convergence rate. The convergence rate is not available directly, but it can be estimated using local Fourier analysis.

As part of project ExaStencils, we developed LFA Lab, a flexible software library that performs a local Fourier analysis. LFA Lab takes as input the formula for the error propagator of the method and a description of the operations involved in this formula. Using this information, LFA Lab is able to predict the convergence rate of a given multigrid method.

By combining the convergence rate estimate with a performance model, it becomes possible to predict the execution time of a multigrid method for a given parameter configuration. This knowledge can then be used to identify an optimal parameter configuration.

Shigeru Chiba, YungYu Zhuang, and
Maximilian Scherr.
A Design of
Deep Reification.
In Companion Proceedings of the 15th International Conference on
Modularity (MODULARITY), pages 168–171. ACM, March 2016.
Workshop on Modularity Across the System Stack (MASS).

Michael Freitag.
Using a Dynamic Schedule to Increase the Performance of Tiling in Stencil
Computations.
In Proceedings of the 5th IEEE Germany Student Conference, pages
45–48. IEEE, June 2014.
3rd best paper award.

Copyright Notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these publications may not be reposted without the explicit permission of the copyright holder.