Shared-Memory-Programmierung: OpenMP 5 bietet erweiterte Hardwareunterstützung

Bei der Shared-Memory-Programmierung mit OpenMP steht Entwicklern nun das gesamte Hardwarespektrum von Embedded- bis hin zu Multi-Core-Systemen offen.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Public Draft von OpenMP 5.0
Lesezeit: 2 Min.
Von
  • Matthias Parbel

Im Rahmen der Supercomputing-Konferenz SC18 hat das OpenMP Architecture Review Board (ARB) die Veröffentlichung des neuesten Sprach-Release OpenMP 5 bekanntgegeben. In die neue API-Spezifikation sind zahlreiche von der Community geforderte Ergänzungen und Verbesserungen gegenüber der im November 2015 erschienen Version OpenMP 4.5 eingeflossen. Dazu zählen neue Funktionen für eine erweiterte Unterstützung von Embedded-Systemen und Beschleuniger-Hardware, ein Standard-Interface für das Debugging sowie verbesserte Performance-Tools.

Für den Einsatz von OpenMP auf Beschleunigern stehen unter anderen Mechanismen bereit, die Unified Shared Memory zwischen dem Hostsystem und Koprozessorgeräten wie GPUs fordern, sowie die Möglichkeit, gerätespezifische Funktionsimplementierungen zu nutzen. Darüber hinaus erlaubt die parallele Programmier-API eine bessere Kontrolle impliziter Datenzuordnungen. Neue Speicherzuordnungsfunktionen verbessern beispielsweise den Umgang mit High Bandwidth Memory, aber auch mit HPC-Systemen, die einer NUMA-Architektur folgen.

Während OpenMP 5.0 nun die wichtigsten Funktionen der Programmiersprachenstandards C11, C++ 14/17 und Fortran 2008 berücksichtigt, erhält der Compiler ein neues Konstrukt für vollständig deskriptive Schleifen. Der Compiler gewinnt dadurch größere Freiheit bei der Optimierung von Schleifen, ohne dass eine spezifische Implementierung erforderlich wird. Für die Integration von Entwicklerwerkzeugen stehen neue Laufzeitschnittstellen zur Verfügung, über die sich Tools zum intuitiveren Debugging, dem Monitoring oder der detaillierteren Performanceanalyse hinzufügen lassen.

Mehr Infos

OpenMP auf der parallel 2019

Das Thema OpenMP spielt traditionell auf unserer Konferenz zur Parallelprogrammierung – der parallel – eine gewichtige Rolle. Im Programm der parallel 2019 vom 19. bis 21. Februar ist unter anderen ein Vortrag zur neuesten Version der API-Spezifikation OpenMP 5 geplant.

Ein kompletter Überblick zu den Neuerungen und Verbesserungen findet sich in der Ankündigung des OpenMP ARB. Bereits zur Jahresmitte hatten die Autoren den Public Draft zu OpenMP 5 veröffentlicht, um mögliche Fehler auf dem letzten Teilstück zur Finalisierung zu finden und Compiler-Entwicklern den Zugang zur Implementierung des Standards zu ermöglichen. Nun liegt die über 600 Seiten umfassende komplette Spezifikation im PDF-Format zum Download parat.

Siehe dazu auf heise Developer:

(map)