english
Hochentwickelte Stencil-Code-Generierung (ExaStencils)

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 Angewandte Informatik, 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.

Die ersten zwei Fallstudien in ExaStencils werden der Teilchensimulation und der Quantenchemie entnommen sein. Danach soll eine breite Produktlinie von Stencilcodes erstellt werden. Wichtigstes Ergebnis des Projekts werden jedoch nicht die einzelnen Produkte sein, sondern die Technologie, mit der sie erstellt werden. Ziel ist, dass diese Technologie nach Abschluss des SPPEXA-Programms auch auf andere, eng umrissene Anwendungsdomänen angewendet werden kann.

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

erste Förderphase (2013-2015)

poster1

zweite Förderphase (2016-2018)

poster2

Projektstand viertes Jahr (2016)

viertes Jahr

Publikationen

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

2017


2016


2015


2014


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

Habilitations-Arbeiten

2014


Master-Arbeiten

2016


2015


2014


2013


Bachelor-Arbeiten

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.