Detailseite
ExaStencils - Hochentwickelte Stencil-Code Generierung
Antragsteller
Professor Dr.-Ing. Sven Apel; Professor Dr. Matthias Bolten; Professor Christian Lengauer, Ph.D.; Professor Dr. Ulrich Rüde; Professor Dr.-Ing. Jürgen Teich
Fachliche Zuordnung
Softwaretechnik und Programmiersprachen
Förderung
Förderung von 2012 bis 2020
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 230724189
ExaStencils verfolgt einen domänenspezifischen Entwurfsansatz für die bedeutende Klasse der Stencil-Codes. Das Revolutionäre am Projekt ist, dass es sich nicht an die Beschleunigung von Altcode richtet, sondern eine neue Softwaretechnologie anstrebt, die eine automatische, domänen- und plattformspezifische Optimierung von Anwendungscode ermöglicht, der auf einfache Weise von Nichtinformatikern erstellt werden kann. Stencils spielen eine zentrale Rolle in der Hochleistungssimulation. Sie sind reguläre Zugriffsmuster auf (i.d.R.) mehrdimensionalen Datengittern. Mehrgittermethoden arbeiten auf einer Hierarchie von erst sehr feinen und dann immer gröberen Gittern. ExaStencils schafft Programmierbarkeit für Exascale mittels einer mehrschichtigen domänenspezifischen Sprache und eines Codegenerators, der Anwenderprogramme mit Domänenwissen anreichert und dieses zur Optimierung nutzt. ExaStencils hochentwickelte Werkzeugunterstützung beruht auf einer generatorbasierten Produktlinientechnologie, die automatisch eine für das Problem und die Ausführungsplattform maßgeschneiderte Implementierung erstellt.Nach der ersten Förderperiode wird ExaStencils einen durchgängigen Kompilationsfluss für die Klasse der elliptischen partiellen Differentialgleichnungen vorweisen, inkl. der automatischen Generierung von funktional korrektem parallelen Code für reale, homogene Supercomputer wie JUQUEEN.Die zweite Förderperiode hat zwei Hauptziele. Erstens soll der Nachweis höchster Produktivität für ein breites Sortiment von Differentialgleichungen und Lösern erbracht werden. Dazu soll das Spektrum der Quellspezifikationen stark erweitert werden, insb. auf lineare Elastizitätsgleichungen und Stokes-Gleichungen. Zweitens soll die Energiebarriere im Hochleistungsrechnen überwunden werden. Dazu muss die automatische Codegenerierung nicht nur auf Leistung allein, sondern auf eine Abstimmung zwischen Leistung und Energieverbrauch abzielen. Dieser zentrale Aspekt soll auf homogenen und heterogenen Supercomputern untersucht werden, inkl. Beschleunigern wie Xeon Phis und GPUs.Das resultierende ausgedehnte Entwurfsspektrum wird mittels einer Infrastruktur auf Basis von maschinellem Lernen und Produktlinien-Sampling verwaltet werden, die breite Aufkommen von Domänenwissen behandeln kann. Der Nachweis der Flexibilität und Produktivität wird die Untersuchung von mathematischen Modellen für einen Tradeoff von Leistung und Energieverbauch auf jeder Ebene der mehrschichtigen Programmiersprache erfordern, zur geeigneten Wahl etwa des Glätters, der Zahl der Gitterebenen, oder der Daten- oder Kommunikationsstrukturen. Ebenso werden neue Techniken der energiegewahren Codeaufteilung (CPU/Beschleuniger), der Ablaufplanung von Kommunikationen und Rechenschritten, sowie der Generierung von hybridem Zielcode nötig sein. Zur experimentellen Validierung werden homogene und heterogene Architekturen herangezogen werden, inkl. JUQUEEN, TSUBAME und SuperMUC.
DFG-Verfahren
Schwerpunktprogramme
Teilprojekt zu
SPP 1648:
Software für Exascale Computing
Internationaler Bezug
Japan
Partnerorganisation
Japan Science and Technology Agency
JST
JST
Kooperationspartner
Professor Dr. Shigeru Chiba
Mitverantwortlich
Privatdozent Dr.-Ing. Frank Hannig