ExaStencils
Advanced Stencil-Code Engineering
Zukünftige Exascale-Systeme mit 107 Recheneinheiten und einer Spitzenleistung von bis zu 1018 FLOPS werden ein enges Codesign von Anwendung, Algorithmus und architekturgewahrer Programmentwicklung benötigen, wenn die potenziell zur Verfügung stehende Spitzenleistung für eine breite Palette von Anwendungen erreicht werden soll. Dafür gibt es zwei Hauptgründe. Zum Ersten wird sich der Knotenaufbau in einem Exascale-Cluster in nachfolgenden Rechnergenerationen zunehmend heterogen gestalten, mit jeweils der neuesten Manycore-, Grafikkarten-und Beschleunigertechnologie. Zum Zweiten wird sich der Cluster selbst aus heterogenen Subsystemen und Verbindungsnetzwerken zusammensetzen. Der effiziente Betrieb solcher Cluster wird neue Softwaretechniken benötigen, die eine gemeinsame Entwicklung der algorithmischen Lösung und des Programms unterstützen. Derartige Techniken werden nicht nur (a) eine Vereinfachung der Anwendungs- und Programmentwicklung zur Folge haben, sondern auch (b) die Leistungsanalyse und -optimierung unterstützen, (c) zu kürzeren Entwicklungszyklen führen und (d) die Portabilität der Hochleistungssoftware erhöhen oder gar erst ermöglichen.
Projekt ExaStencils wird einen einzigartigen, werkzeugunterstützten, domänenspezifischen Codesign-Ansatz für Stencil-Codes untersuchen und bereitstellen. Stencil-Codes spielen beim Hochleistungsrechnen und der Simulation auf strukturierten und blockstrukturierten Gittern eine zentrale Rolle. Stencils sind reguläre Zugriffsmuster auf (in der Regel) mehrdimensionalen Datengittern. Mehrgittermethoden arbeiten auf einer Hierarchie von anfänglich sehr feinen und nachfolgend immer gröberen Gittern. Aus der Perspektive des Rechenalgorithmus beinhalten notwendige domänenspezifische Untersuchungen die Extraktion und Entwicklung von geeigneten Stencils, die Analyse leistungsrelevanter algorithmischer Alternativen und die Analyse und Minderung von Synchronisationsanforderungen auf Basis eines Schablonenmodells der anvisierten Clusterarchitektur. Ausgehend von dieser Analyse soll eine hochentwickelte Programmierungs- und Softwarewerkzeugunterstützung erarbeitet werden, indem die relevanten Datenstrukturen und Programmsegmente for Stencil-Berechnungen in einer domänenspezifischen Sprache erfasst werden. Generatorbasierte Produktlinientechnologie soll zur automatischen Erzeugung von Stencil-Codes eingesetzt werden, die speziell auf die jeweils anvisierte Kombination von Anwendung und Rechenplattform angepasst sind. Ein wesentliches Merkmal von ExaStencils ist, dass Domänenwissen koordiniert über alle Abstraktionsebenen einfließt und zur Optimierung verwendet wird – von der Formulierung des Anwendungsszenarios bis zur Generierung von hoch-optimiertem Stencil-Codes.
Für den im Konsortium gemeinsam entwickelten einzigartigen und erstmalig durchgängigen Entwurfsfluss sollen die drei Ziele der (1) Produktivitätssteigerung, (2) Flexibilität in der Wahl des Algorithmus und der Zielplattform und (3) Erreichbarkeit und Nachweis von ExaFLOPS-Rechenleistung in einer detaillierten, abschließenden Evaluierungsphase demonstriert werden.
Publikationen
- Schmitt C., Schmid M., Kuckuk S., Köstler H., Teich J., Hannig F.:
Reconfigurable Hardware Generation of Multigrid Solvers with Conjugate Gradient Coarse-Grid Solution
In: Parallel Processing Letters 28 (2018), Art.Nr.: 1850016
ISSN: 0129-6264
DOI: 10.1142/S0129626418500160
BibTeX: Download - Lengauer C., Apel S., Größlinger A., Grebhahn A., Kronawitter S., Bolten M., Rittich H., Hannig F., Köstler H., Rüde U., Teich J., Kuckuk S., Schmitt C.:
ExaStencils: Advanced Stencil-Code Engineering
Euro-Par: Parallel Processing Workshops (Porto, 25. August 2014 - 26. August 2014)
In: Proceedings of Euro-Par 2014: Parallel Processing Workshops, Berlin; Heidelberg: 2014
DOI: 10.1007/978-3-319-14313-2_47
URL: http://link.springer.com/content/pdf/10.1007/978-3-319-14313-2_47.pdf
BibTeX: Download - Köstler H., Schmitt C., Kuckuk S., Kronawitter S., Hannig F., Teich J., Rüde U., Lengauer C.:
A Scala Prototype to Generate Multigrid Solver Implementations for Different Problems and Target Multi-Core Platforms
In: International Journal of Computational Science and Engineering 14 (2017), S. 150-163
ISSN: 1742-7185
DOI: 10.1504/IJCSE.2017.10003829
BibTeX: Download - Grebhahn A., Siegmund N., Apel S., Kuckuk S., Schmitt C., Köstler H.:
Optimizing Performance of Stencil Code with SPL Conqueror
1st International Workshop on High-Performance Stencil Computations (HiStencils) (Vienna, 20. Januar 2014 - 20. Januar 2014)
In: Proceedings of the 1st International Workshop on High-Performance Stencil Computations (HiStencils) 2014
URL: https://www12.cs.fau.de/downloads/schmittch/publications/GSAKSK14histencils.pdf
BibTeX: Download - Membarth R., Reiche O., Schmitt C., Hannig F., Teich J., Stürmer M., Köstler H.:
Towards a Performance-portable Description of Geometric Multigrid Algorithms using a Domain-specific Language
In: Journal of Parallel and Distributed Computing 74 (2014), S. 3191-3201
ISSN: 0743-7315
DOI: 10.1016/j.jpdc.2014.08.008
BibTeX: Download