Projekt EXA2PRO: Programmierumgebungen für Exascale

Es wird erwartet, dass bei der Weiterentwicklung in Richtung Exascale es immer schwieriger für Anwendungsentwickler sein wird, ohne Detailkenntnisse der zugrunde liegenden Hardwarearchitektur auszukommen. Die Parallelität wird zunehmen, aber auf unterschiedliche Weise organisiert sein, d.h. unterschiedliche Anzahl von CPU-Kernen und verschiedene Vektor- und SIMD-Befehlssätze mit unterschiedlichen Längen. Enge Beschränkungen des Energiebudgets werden den Einsatz von Rechenbeschleunigern wie GPUs begünstigen. Auch rekonfigurierbare Systeme wie FPGAs könnten hier eine wichtige Rolle spielen. Das neue, dreijährige, von der EU geförderte EXA2PRO-Projekt stellt sich dieser Herausforderung, indem es eine Programmierumgebung entwickelt, die sich insbesondere auf die Produktivität der Anwendungsentwickler konzentriert.

Der Ansatz von EXA2PRO basiert auf der Verwendung von Skeletten und multivarianten Komponenten. Skelette sind vordefinierte generische Programmbausteine für häufig auftretende Berechnungsmuster wie Data-Parallel Map, Reduce, Scan, Stencil etc., für die es effiziente plattformspezifische Implementierungen gibt. Wo bestehende Skelette nicht passen, sind multivariante Komponenten als Alternative vorgesehen. Dies sind Abstraktionen von Funktionen mit mehreren Implementierungsvarianten. Skelette und multivariante Komponenten werden durch ein Kompositionsframework integriert, das mit einem Laufzeitsystem und einer Supportbibliothek interagiert. Letztere wird verschiedene Hardware-Backends unterstützen, die von Standard-CPUs über GPUs bis hin zu FPGAs reichen.

Das Projektkonsortium besteht aus Universitäten und Forschungslabors aus Frankreich, Deutschland, Griechenland und Schweden sowie Maxeler Technologies mit Standorten in Großbritannien und den Niederlanden. EXA2PRO wird vom Institut für Kommunikation und Computersysteme in Athen koordiniert. Weitere Informationen finden Sie unter https://exa2pro.eu.

Ansprechpartner: Prof. Dirk Pleiter

aus JSC News No. 260, 17. September 2018

Letzte Änderung: 03.08.2022