ExaStencils Consortium

The ExaStencils consortium consists of six research groups at four locations:

Prog: Christian Lengauer (Chair of Programming, University of Passau)
SE: Sven Apel (Chair of Software Engineering, University of Passau)
LSS: Ulrich Rüde, Harald Köstler (Chair of System Simulation, Friedrich-Alexander University Erlangen-Nürnberg)
CoD: Jürgen Teich, Frank Hannig (Chair of Hardware-Software-Co-Design, Friedrich-Alexander University Erlangen-Nürnberg)
ACS: 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:
  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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:
  1. 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.

Recent post on ScienceNode: https://sciencenode.org/feature/How%20to%20liberate%20scientists.php

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

1st funding period (2013-2015)

poster1

2nd funding period (2016-2018)

poster2

5th-year project state (2017)

5th year

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.

Website
Github Project

Publications

This publication list has been extracted automatically from the bibliography database of project ExaStencils. Please respect copyrights (copyright notice).

2019


  • new Shigeru Chiba, YungYu Zhuang, and Thanh-Chung Dao. A Development Platform for Embedded Domain-Specific Languages. In Advanced Software Technologies for Post-Peta Scale Computing. Springer, 2019. To appear.
     

2018


2017


2016


  • Stefan Kronawitter, Sebastian Kuckuk, and Christian Lengauer. Redundancy Elimination in the ExaStencils Code Generator. In Jesus Carretero et al., editors, Algorithms and Architectures for Parallel Processing (ICA3PP), Collocated Workshops, volume 10049 of Lecture Notes in Computer Science, pages 159–173. Springer, 2016. First International Workshop on Data Locality in Modern Computing Systems (DLMCS).
     
  • Alexander Grebhahn, Norbert Siegmund, Harald Köstler, and Sven Apel. Performance Prediction of Multigrid-Solver Configurations. In Software for Exascale Computing – SPPEXA 2013–2015, volume 113 of Lecture Notes in Computational Science and Engineering, pages 69–88. Springer, September 2016.
     
  • Sebastian Kuckuk and Harald Köstler. Automatic Generation of Massively Parallel Codes from ExaSlang. Computation, 4(3):Article 27, 20 pages, September 2016. Special Issue on High Performance Computing (HPC) Software Design.
     
  • Christian Schmitt, Sebastian Kuckuk, Frank Hannig, Jürgen Teich, Harald Köstler, Ulrich Rüde, and Christian Lengauer. Systems of Partial Differential Equations in ExaSlang. In Hans-Joachim Bungartz, Philipp Neumann, and Wolfgang E. Nagel, editors, Software for Exascale Computing – SPPEXA 2013-2015, volume 113 of Lecture Notes in Computational Science and Engineering, pages 47–67. Springer, September 2016.
     
  • Shigeru Chiba, YungYu Zhuang, and Maximilian Scherr. Deeply Reifying Running Code for Constructing a Domain-Specific Language. In Proceedings of the 13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools (PPPJ). ACM, August 2016. Paper 1, 12 pages.
     
  • Moritz Schmid, Christian Schmitt, Frank Hannig, Gorker Alp Malazgirt, Nehir Sönmez, Arda Yurdakul, and Adrián Cristal. Big Data and HPC Acceleration with Vivado HLS. In Dirk Koch, Frank Hannig, and Daniel Ziener, editors, FPGAs for Software Programmers, chapter 7, pages 115–136. Springer, June 2016.
     
  • 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).
     
  • Norbert Siegmund, Alexander Grebhahn, Sven Apel, and Christian Kästner. Performance-Influence Models. In Proceedings of Software Engineering – Fachtagung des GI-Fachbereichs Softwaretechnik, GI-Edition – Lecture Notes in Informatics, pages 29–31. Gesellschaft für Informatik, February 2016.
     

2015


  • Matthias Bolten, Marco Donatelli, and Thomas Huckle. Analysis of Smoothed Aggregation Multigrid Methods Based on Toeplitz Matrices. Electronic Transactions on Numerical Analysis (ETNA), Volume 44, pages 25–52, 2015.
     
  • Matthias Bolten and Oliver Letterer. Increasing Arithmetic Intensity in Multigrid Methods on GPUs Using Block Smoothers. In Roman Wyrzykowski, Ewa Deelman, Jack Dongarra, Konrad Karczewski, Jacek Kitowski, and Kazimierz Wiatr, editors, Parallel Processing and Applied Mathematics (PPAM), Part II, volume 9574 of Lecture Notes in Computer Science, pages 515–525. Springer, 2015.
     
  • Michael L. Minion, Robert Speck, Matthias Bolten, Matthew Emmett, and Daniel Ruprecht. Interweaving PFASST and Parallel Multigrid. SIAM Journal of Scientific Computing (SISC), 37(5):S244–S263, 2015.
     
  • Christian Lengauer, Matthias Bolten, Robert D. Falgout, and Olaf Schenk (editors). Advanced Stencil-Code Engineering (Dagstuhl Seminar 15161). Dagstuhl Reports, 5(4):56–75, December 2015.
     
  • Norbert Siegmund, Alexander Grebhahn, Sven Apel, and Christian Kästner. Performance-Influence Models for Highly Configurable Systems. In Proceedings of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSE), pages 284–294. ACM Press, August 2015. Acceptance rate: 25% (74 / 291).
     
  • Alexander von Rhein, Alexander Grebhahn, Sven Apel, Norbert Siegmund, Dirk Beyer, and Thorsten Berger. Presence-Condition Simplification in Highly Configurable Systems. In Proceedings of the IEEE/ACM International Conference on Software Engineering (ICSE), pages 178–188. IEEE Computer Society, May 2015. Acceptance rate: 19% (84 / 452).
     
  • Stefan Kronawitter and Christian Lengauer. Optimizations Applied by the ExaStencils Code Generator. Technical Report MIP-1502, Faculty of Computer Science and Mathematics, University of Passau, January 2015. 10 pages.
     
  • Christian Schmitt, Moritz Schmid, Frank Hannig, Jürgen Teich, Sebastian Kuckuk, and Harald Köstler. Generation of Multigrid-based Numerical Solvers for FPGA Accelerators. In Armin Größlinger and Harald Köstler, editors, Proceedings of the 2nd International Workshop on High-Performance Stencil Computations (HiStencils), pages 9–15. www.viaprinto.de, January 2015.
     

2014


  • Christian Lengauer, Sven Apel, Matthias Bolten, Armin Größlinger, Frank Hannig, Harald Köstler, Ulrich Rüde, Jürgen Teich, Alexander Grebhahn, Stefan Kronawitter, Sebastian Kuckuk, Hannah Rittich, and Christian Schmitt. ExaStencils: Advanced Stencil-Code Engineering. In Luis Lopes et al., editors, Euro-Par 2014: Parallel Processing Workshops, Part II, volume 8806 of Lecture Notes in Computer Science, pages 553–564. Springer, 2014.
     
  • Robert Speck, Daniel Ruprecht, Matthew Emmett, Michael Minion, Matthias Bolten, and Rolf Krause. A Multi-Level Spectral Deferred Correction Method. BIT Numerical Mathematics, 2014. Online first.
     
  • Harald Köstler. Platform-independent Description of Imaging Algorithms. Proceedings in Applied Mathematics and Mechanics (PAMM), 14(1):945–946, December 2014. Special Issue: 85th Annual Meeting of the International Association of Applied Mathematics and Mechanics (GAMM).
     
  • Christian Schmitt, Sebastian Kuckuk, Frank Hannig, Harald Köstler, and Jürgen Teich. ExaSlang: A Domain-Specific Language for Highly Scalable Multigrid Solvers. In Proceedings of the 4th International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing (WOLFHPC), pages 42–51. ACM, November 2014.
     
  • Alexander Grebhahn, Sebastian Kuckuk, Christian Schmitt, Harald Köstler, Norbert Siegmund, Sven Apel, Frank Hannig, and Jürgen Teich. Experiments on Optimizing the Performance of Stencil Codes with SPL Conqueror. Parallel Processing Letters, 24(3):Article 1441001, 19 pages, September 2014.
     
  • Jianmei Guo, Edward Zulkoski, Rafael Olaechea, Derek Rayside, Krzysztof Czarnecki, Sven Apel, and Joanne Atlee. Scaling Exact Multi-Objective Combinatorial Optimization by Parallelization. In Proceedings of the ACM/IEEE International Conference on Automated Software Engineering (ASE), pages 409–420. ACM Press, September 2014. Acceptance rate: 20% (55 / 276).
     
  • Stefan Kronawitter, Holger Stengel, Georg Hager, and Christian Lengauer. Domain-Specific Optimization of two Jacobi Kernels and their Evaluation in the ECM Performance Model. Parallel Processing Letters, 24(3):Article 1441004, 18 pages, September 2014. Special issue: HiStencils 2014.
     
  • Moritz Schmid, Oliver Reiche, Christian Schmitt, Frank Hannig, and Jürgen Teich. Code Generation for High-Level Synthesis of Multiresolution Applications on FPGAs. In Proceedings of the First International Workshop on FPGAs for Software Programmers (FSP), pages 21–26. arXiv:1408.4721, September 2014.
     
  • 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.
     
  • Harald Köstler, Christian Schmitt, Sebastian Kuckuk, Frank Hannig, Jürgen Teich, and Ulrich Rüde. A Scala Prototype to Generate Multigrid Solver Implementations for Different Problems and Target Multi-Core Platforms. Computing Research Repository (CoRR), June 2014. 18 pages. arXiv:1406.5369.
     
  • Christian Lengauer, Sven Apel, Matthias Bolten, Armin Größlinger, Frank Hannig, Harald Köstler, Ulrich Rüde, Jürgen Teich, Alexander Grebhahn, Stefan Kronawitter, Sebastian Kuckuk, Hannah Rittich, and Christian Schmitt. ExaStencils: Advanced Stencil-Code Engineering – First Project Report. Technical Report MIP-1401, Department of Computer Science and Mathematics, University of Passau, June 2014. 12 pages.
     
  • Christian Schmitt, Sebastian Kuckuk, Harald Köstler, Frank Hannig, and Jürgen Teich. An Evaluation of Domain-Specific Language Technologies for Code Generation. In Proceedings of the International Conference on Computational Science and its Applications (ICCSA), pages 18–26. IEEE Computer Society, June 2014.
     
  • Norbert Siegmund, Sergiy Kolesnikov, Christian Kästner, Sven Apel, Don Batory, Marko Rosenmüller, and Gunter Saake. Performance Prediction in the Presence of Feature Interactions. In Proceedings of Software Engineering – Fachtagung des GI-Fachbereichs Softwaretechnik, GI-Edition – Lecture Notes in Informatics, pages 33–34. Gesellschaft für Informatik, February 2014.
     
  • Sven Apel, Matthias Bolten, Armin Größlinger, Franz Hannig, Harald Köstler, Christian Lengauer, Ulrich Rüde, and Jürgen Teich. ExaStencils: Advanced Stencil-Code Engineering. inSiDE, 12(2):60–63, 2014.
     
  • Stefan Kronawitter and Christian Lengauer. Optimization of two Jacobi Smoother Kernels by Domain-Specific Program Transformation. In Armin Größlinger and Harald Köstler, editors, Proceedings of the 1st International Workshop on High-Performance Stencil Computations (HiStencils), pages 75–80. www.epubli.de, January 2014.
     

2013


  • Jianmei Guo, Krzysztof Czarnecki, Sven Apel, Norbert Siegmund, and Andrzej Wasowski. Variability-Aware Performance Prediction: A Statistical Learning Approach. In Proceedings of the IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 301–311. IEEE Computer Society, November 2013. Acceptance rate (full papers): 16% (51 / 317).
     
  • Daniel Ruprecht, Robert Speck, Matthew Emmett, Matthias Bolten, and Rolf Krause. Extreme-Scale Space-Time Parallelism: Extended Abstract. In William Gropp and Satoshi Matsuoka, editors, SC 2013 Companion: High Performance Computing, Networking Storage and Analysis. ACM, November 2013. Poster, 2 pages.
     
  • Norbert Siegmund, Alexander von Rhein, and Sven Apel. Family-Based Performance Measurement. In Proceedings of the International Conference on Generative Programming: Concepts & Experiences (GPCE), pages 95–104. ACM Press, October 2013. Acceptance rate (full papers): 30% (17 / 57).
     
  • Sebastian Kuckuk, Björn Gmeiner, Harald Köstler, and Ulrich Rüde. A Generic Prototype to Benchmark Algorithms and Data Structures for Hierarchical Hybrid Grids. In Michael Bader, Arndt Bode, Hans-Joachim Bungartz, Michael Gerndt, Gerhard R. Joubert, and Frans J. Peters, editors, Proceedings of the International Conference on Parallel Computing (ParCo), pages 813–822. IOS Press, September 2013.
     
  • Robert Speck, Daniel Ruprecht, Matthew Emmett, Matthias Bolten, and Rolf Krause. A Space-Time Parallel Solver for the Three-Dimensional Heat Equation. In Michael Bader, Arndt Bode, Hans-Joachim Bungartz, Michael Gerndt, Gerhard R. Joubert, and Frans J. Peters, editors, Proceedings of the International Conference on Parallel Computing (ParCo), pages 263–272. IOS Press, September 2013.
     
  • Jianmei Guo, Krzysztof Czarnecki, Sven Apel, Norbert Siegmund, and Andrezj Wasowski. Why CART Works for Variability-Aware Performance Prediction? An Empirical Study on Performance Distributions. Technical Report GSDLAB-TR-2013-04-02, Generative Software Development Laboratory, University of Waterloo, April 2013.
     
  • Norbert Siegmund, Marko Rosenmüller, Christian Kästner, Paolo Giarrusso, Sven Apel, and Sergiy Kolesnikov. Scalable Prediction of Non-functional Properties in Software Product Lines: Footprint and Memory Consumption. Information and Software Technology (IST), 55(3):491–507, March 2013.
     
  • Sergiy Kolesnikov, Sven Apel, Norbert Siegmund, Stefan Sobernig, Christian Kästner, and Semah Senkaya. Predicting Quality Attributes of Software Product Lines Using Software and Network Measures and Sampling. In Proceedings of the International Workshop on Variability Modelling of Software-intensive Systems (VaMoS), pages 25–29. ACM, January 2013.
     

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.

Selected Theses

Habilitation Theses

2017


2014


Dissertations

2017


Master Theses

2017


  • Benedikt Rauh. Evaluation of Scala-based Technologies for the Implementation of Domain-Specific Languages. Master's thesis, Department of Computer Science, Friedrich-Alexander University Erlangen-Nürnberg, February 2017.
     

2016


2015


2014


2013


Bachelor Theses

2017


  • Daniel Ziegler. Eine Bibliothek zur handschriftlichen Eingabe mathematischer Ausdrücke. Bachelor's thesis, Department of Computer Science, Friedrich-Alexander University Erlangen-Nürnberg, November 2017.
     
  • Max Gerecke. Implementierung des TGV Algorithmus mithilfe von ExaSlang. Bachelor's thesis, Department of Computer Science, Friedrich-Alexander University Erlangen-Nürnberg, October 2017.
     
  • Sebastian Schweikl. Multigrid for the SPIRAL prototype in Scala. Bachelor's thesis, Faculty of Computer Science and Mathematics, University of Passau, September 2017.
     
  • Daniel Vahle. Komplexitätsanalyse von domänenspezifischen Sprachen. Bachelor's thesis, Department of Computer Science, Friedrich-Alexander University Erlangen-Nürnberg, June 2017.
     
  • Ewald Flad. Automatische Diskretisierung elliptischer partieller Differentialgleichungen in ExaSlang. Bachelor's thesis, Department of Computer Science, Friedrich-Alexander University Erlangen-Nürnberg, May 2017.
     

2015


2014


Funding

ExaStencils is funded by the German Research Foundation (DFG) as part of the Priority Programme 1648 (Software for Exascale Computing). The first funding period from January 2013 to December 2015 has been completed. The project is in its second funding period from January 2016 to December 2018.

Contact

Coordinator of ExaStencils is Christian Lengauer.