HPC rechnet sich ::: Wissens- & Technologietransfer

ELP
Effektive Laufzeitunterstützung für zukünftige Programmierstandards

Überblick
Projektlaufzeit Oktober 2013 - September 2016
Förderung Bundesministerium für Bildung und Forschung 3. HPC-Call
Webseite http://www.vi-hps.org/projects/elp/
Beschreibung
Hybride Parallelisierung, also die Kombination von MPI und OpenMP und ggfs. einem weiteren Paradigma zur Programmierung von Beschleunigern bzw. Vektoreinheiten, wird zunehmend wichtiger, um moderne Cluster effizient ausnutzen zu können. Im Rahmen von ELP wird unter Zuhilfenahme von Methoden der Compiler- und Laufzeittechnologie eine effektive Laufzeitunterstützung entwickelt, um leistungsfähige Softwarewerkzeuge in den Arbeitsfluss zu integrieren und insgesamt die Komplexität der Entwicklung paralleler Programme zu reduzieren. Der Schwerpunkt in ELP liegt auf der Unterstützung von Direktiven-basierten Paradigmen, wie OpenMP 4.0, OpenACC und deren Nachfolgern. Die aus der Laufzeit gewonnenen Daten werden direkt den folgenden Tools zur Verfügung gestellt: MUST, einem Werkzeug zur Korrektheitsanalyse paralleler Programme, der Messinfrastruktur Score-P und damit dem Performanceanalysewerkzeug Vampir, sowie dem Debugger DDT.

MUST erlaubt es derzeit bereits, viele Klassen von Fehlern bei der MPI-Programmierung zur Laufzeit zu erkennen und dem Benutzer zu melden. In ELP wird die Korrektheitsanalyse in MUST auf hybride sowie mit OpenMP beschleunigte Programme erweitert. Für die Performanceanalyse mit Vampir werden Instrumente geschaffen, um high-level Spracherweiterungen ganzheitlich analysieren zu können und Beschleuniger wie den Intel Xeon Phi zu unterstützen. In Bezug auf den Debugger wird untersucht, wie dem Benutzer ein besseres Werkzeug zum Verstehen von Fehlern in beschleunigtem Code an die Hand gegeben werden kann. Eine enge Anbindung der neuen Laufzeitumgebung an den quelloffenen HPC-Softwarestack unter Linux, die Anforderungsanalyse zusammen mit Partnern aus der Industrie sowie kontinuierliches Testen der neuen Funktionalität stellen dabei Verfügbarkeit und Nachhaltigkeit des Vorhabens sicher. Ein besonderer Schwerpunkt liegt auf der Unterstützung der aktuellen Standards OpenMP 4.0 und OpenACC, welche die Programmierung von Beschleuniger- bzw. Vektoreinheiten moderner Rechnerarchitekturen unterstützen und standardisieren.
Ergebnisse
Nach rund einem Jahr Projektlaufzeit wurden erste Entwicklungsergebnisse in der Software MUST in einem neuen Release veröffentlicht, welches als Open Source auf der Homepage der Software MUST verfügbar ist: http://www.itc.rwth-aachen.de/must . Als größte Neuigkeit ist in Version 1.4 vom November 2014 die prinzipielle Unterstützung hybrider Programme sowie reiner OpenMP Programme hinzugekommen.
Kontakt / Ansprechpartner

Christian Terboven (terboven@itc.rwth-aachen.de)

Organisatorischer Kontakt

RWTH IT Center
Prof. Dr. Matthias S. Müller
Seffenter Weg 23
52074 Aachen
Germany