ExaStencils

Advanced Stencil-Code Engineering


Visualisierung von Daten im Mehrgitterverfahren
Visualisierung von Daten im Mehrgitterverfahren

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.

URL: http://www.exastencils.org

Publikationen