ExaStencils - Advanced Stencil-Code Engineering (ExaStencils)

Third Party Funds Group - Sub project


Acronym: ExaStencils

Start date : 01.01.2013

End date : 31.12.2018

Website: http://www.exastencils.org


Visualisierung von Daten im Mehrgitterverfahren

Overall project details

Overall project

SPP 1648: Software for Exascale Computing

Project details

Short description

Future exascale computing systems with 107 processing units and supporting up to 1018 FLOPS peak performance will require a tight co-design of application, algorithm, and architecture aware program development to sustain this performance for many applications of interest, mainly for two reasons. First, the node structure inside an exascale cluster will become increasingly heterogeneous, always exploiting the most recent available on-chip manycore/GPU/HWassist technology. Second, the clusters themselves will be composed of heterogeneous subsystems and interconnects. As a result, new software techniques and tools supporting the joint algorithm and architecture-aware program development will become indispensable not only (a) to ease application and program development, but also (b) for performance analysis and tuning, (c) to ensure short turn-around times, and (d) for reasons of portability.

Project ExaStencils will investigate and provide a unique, tool-assisted, domain-specific codesign approach for the important class of stencil codes, which play a central role in high performance simulation on structured or block-structured grids. Stencils are regular access patterns on (usually multidimensional) data grids. Multigrid methods involve a hierarchy of very fine to successively coarser grids. The challenge of exascale is that, for the coarser grids, less processing power is required and communication dominates. From the computational algorithm perspective, domain-specific investigations include the extraction and development of suitable stencils, the analysis of performance-relevant algorithmic tradeoffs (e.g., the number of grid levels) and the analysis and reduction of synchronization requirements guided by a template model of the targeted cluster architecture. Based on this analysis, sophisticated programming and software tool support shall be developed by capturing the relevant data structures and program segments for stencil computations in a domain-specific language and applying a generator-based product-line technology to generate and optimize automatically stencil codes tailored to each application–platform pair. A central distinguishing mark of ExaStencils is that domain knowledge is being pursued in a coordinated manner across all abstraction levels, from the formulation of the application scenario down to the generation of highly-optimized stencil code.

For the developed unique and first-time seamless cross-level design flow, the three objectives of (1) a substantial gain in productivity, (2) high flexibility in the choice of algorithm and execution platform, and (3) the provision of the ExaFLOPS performance for stencil code shall be demonstrated in a detailed, final evaluation phase.

Scientific Abstract

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.

Involved:

Contributing FAU Organisations:

Funding Source

Research Areas