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.