ExaStencils Konsortium

Das ExaStencils-Konsortium besteht aus sechs Arbeitsgruppen an vier Standorten:

Prog: Christian Lengauer (Lehrstuhl für Programmierung, Universität Passau)
SE: Sven Apel (Lehrstuhl für Software Engineering, Universität Passau)
LSS: Ulrich Rüde, Harald Köstler (Lehrstuhl für Systemsimulation, Friedrich-Alexander Universität Erlangen-Nürnberg)
CoD: Jürgen Teich, Frank Hannig (Lehrstuhl für Hardware-Software-Co-Design, Friedrich-Alexander Universität Erlangen-Nürnberg)
ACS: Matthias Bolten (Lehrstuhl für Hochleistungsrechnen / Softwaretechnologie, Bergische Universität Wuppertal)
Meta: Shigeru Chiba (Lehrstuhl für Kreative Informatik, Universität Tokyo)

Projektbeschreibung

ExaStencils stellt die Entwicklung einer radikal neuen Exascale-fähigen Softwaretechnologie in den Mittelpunkt. Sein Ziel ist, für eine wichtige aber eng umrissene Anwendungsdomäne die bequeme, anwendungsnahe Formulierung von Problemlösungen zu ermöglichen, und deren Implementierung möglichst automatisiert unter Verwendung von domänenspezifischem Wissen in verschiedenen Schritten optimieren zu können, so dass portable Exascale-Leistung resultiert.

Als Domäne wird das Anwendungsgebiet der Stencilcodes gewählt, also von rechenintensiven Algorithmen, in denen wiederholt Datenpunkte in einem Gitter aus einer Kombination von den Werten benachbarter Punkte bestimmt werden. Das verwendete Muster der benachbarten Punkte heißt Stempel, oder engl. Stencil. Stencilcodes finden zur Lösung von diskretisierten partiellen Differentialgleichungen und den daraus entstehenden linearen Systemen verbreiteten Einsatz.

Die domänenspezifische Optimierung wird in fünf wesentlichen Schritten erfolgen:
  1. Anpassung des mathematischen Problems (ACS, LSS):

    Zunächst wird das mathematische Verfahren auf Effizienz und Skalierbarkeit hin optimiert. Dann werden Variationsmöglichkeiten von Operatoren und Lösungsansätzen im Hinblick auf das vorliegende Anwendungsproblem und die verwendete Ausführungsplattform präzise benannt, um die weitere Optimierung zu ermöglichen.

  2. Erstellung eines Programms in einer domänenspezifischen Sprache (CoD):

    Als nächstes wird die auf dem Papier entworfene Lösung in eine abstrakte aber ausführbare domänenspezifische Sprache (DSL) überführt, in der die wesentlichen Merkmale der Lösung einfach benannt werden können.

  3. Domänenspezifische Optimierung anhand der Merkmale des Stencilcodes (SE):

    Nun kommt eine Produktlinientechnologie zum Einsatz, die die Ähnlichkeiten zwischen Stencilcodes für verschiedene Anwendungen ausnutzt. So braucht nicht jeder Stencilcode von Grund auf neu entworfen zu werden, da er nicht als Individuum betrachtet wird, sondern als ein Mitglied einer Produktlinie, das durch seine Variantenwahl bestimmt ist. Die Implementierung des Stencilcodes kann dann automatisch erfolgen, als Komposition seiner Merkmale und unter Einsatz von domänenspezifischen Optimierungen, die auf seine spezielle Natur sowie auf die Anforderungen der konkreten Anwendung abgestimmt sind.

  4. Schleifenoptimierung im Polyedermodell (Prog):

    Als nächstes wird das Polyedermodell zur Schleifenparallelisierung eingesetzt, mit dem ein Stencilcode für eine vorgegebene Kostenfunktion optimiert werden kann. Dies soll helfen, im Zusammenspiel verschiedener Einflüsse wie Parallelität, Speicherbelastung und Kommunikationsaufkommen die Leistung und Skalierbarkeit des Codes zu maximieren.

  5. Plattformspezifische Nachschärfungen (CoD, LSS):

    Als letztes werden die Eigenarten der Ausführungsplattform berücksichtigt, um unnötige Leistungsbremsen abzubauen. Insbesondere soll dieser Schritt die Heterogenität zukünftiger Exascale-Architekturen ansprechen.

In der zweiten Projektphase ist ein weiterer Forschungsgegenstand die Produktivität:
  1. Rapid Prototyping von Stencil-Sprachen (Meta):

    Das Projekt verfolgt einen externen Sprachansatz, um Einschränkungen durch eine Wirtsspache im Streben nach Exascale-Leistung zu vermeiden. Fallstudien sollen dies einem in eine JVM-basierte Wirtssprache eingebetteten Ansatz gegenüberstellen, um die Wechselwirkung zwischen Leistung und Produktivität auszuloten.

Als erste Fallstudien wurde die im Rahmen von ExaStencils entwickelte Technologie in der Quantenchemie und zur Simulation von nicht-Newtonschen Flüssigkeiten evaluiert. Die Anwendung in anderen Bereichen ist im Rahmen der abgesteckten Domäne möglich.

Kürzlicher Eintrag auf ScienceNode: https://sciencenode.org/feature/How%20to%20liberate%20scientists.php

Projektphasen: Zwei Poster (A0) und aktuellste Jahrespräsentation

erste Förderphase (2013-2015)

poster1

zweite Förderphase (2016-2018)

poster2

Projektstand fünftes Jahr (2017)

5th year

Spezielle Projektthemen

LFA Lab: Eine Bibliothek zur Konvergenzratenschätzung mit einer lokalen Fourier-Analyse.

Mehrgitterverfahren besitzen viele Parameter, die ihre Ausführungszeit beeinflussen. Um eine gute Parameterkonfiguration zu identifizieren, muss die Ausführungszeit für verschiedene Konfigurationen vorhergesagt werden.

Es reicht nicht aus, nur die Laufzeit der einzelnen Operatoren vorherzusagen, deren Anzahl ist ebenso wichtig. Mehrgitterverfahren sind iterativ, d.h. sie nähern sich der gesuchten Lösung in einer folge von Rechenschritten an. Die Anzahl der Iterationen, die notwendig sind, um eine bestimmte Genauigkeit zu erreichen, hängt von der Konvergenzrate des Verfahrens ab.

Die Parameter eines Mehrgitterverfahrens beeinflussen die Konvergenzrate. Diese ist nicht direkt verfügbar, kann aber mit Hilfe der lokalen Fourier-Analyse geschätzt werden.

Im Rahmen von ExaStencils haben wir LFA Lab entwickelt, eine flexible Software-Bibliothek, die eine lokale Fourier-Analyse durchführt. LFA Lab erwartet die Formel für die Fehlerausbreitung und eine Beschreibung der an dieser Formel beteiligten Operatoren als Eingabe. Mit Hilfe dieser Informationen ist LFA Lab in der Lage, die Konvergenzrate eines gegebenen Mehrgitterverfahrens vorherzusagen.

Durch die Kombination der Konvergenzratenschätzung mit einem Leistungsmodell wird es möglich, die Ausführungszeit des gesamten Mehrgitterverfahrens für eine Parameterkonfiguration vorherzusagen. Dieses Wissen kann dann genutzt werden, um die optimale Parameterkonfiguration zu ermitteln.

Webseite
Github Projekt

Publikationen

Diese Publikationsliste wurde automatisch aus der Datenbank des Projekts ExaStencils extrahiert. Bitte nehmen Sie Rücksicht auf Urheberrechte (copyright notice).

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

Ausgewählte Abschlussarbeiten

Habilitationsschriften

2014


Dissertationen

2017


Master-Arbeiten

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-Arbeiten

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


Förderung

ExaStencils wird von der Deutschen Forschungsgemeinschaft (DFG) im Schwerpunktprogramm 1648 (Software for Exascale Computing) gefördert. Die erste Förderperiode von Januar 2013 bis Dezember 2015 ist abgeschlossen. Das Projekt ist in seiner zweiten Förderperiode von Januar 2016 bis Dezember 2018.

Kontakt

Koordinator von ExaStencils ist Christian Lengauer.