Project Details
Projekt Print View

ExaStencils - Advanced Stencil-Code Engineering

Subject Area Software Engineering and Programming Languages
Term from 2012 to 2020
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 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 Programme Priority Programmes
International Connection Japan
Cooperation Partner Professor Dr. Shigeru Chiba
 
 

Additional Information

Textvergrößerung und Kontrastanpassung