Open Source im professionellen Einsatz

Neue Spezifikation für Open MP

30.11.2015

Mit Version 4.5 haben die Macher hinter der Programmierschnittstelle Open MP eine neue Iteration ihrer Spezifikation vorgestellt. Die unterstützt Geräte besser und parallelisiert Loops. In GCC 6.0 sind die Features fast komplett implementiert.

196

Verbessert wurde laut Ankündigung vor allem der Gerätesupport. Open MP bringt nun einen Mechanismus für das Mappen unstrukturierter Daten, für asynchrone Code-Ausführungen sowie Runtime-Routinen für das Speichermanagement von Geräten mit. Letztere erlauben es, Speicher zu allozieren, zu kopieren und freizugeben.

Loops lassen sich nach der neuen Spezifikation parallelisieren, wobei Open MP die Abhängigkeiten berücksichtigt. Zugleich können Entwickler mit Open MP Loops in Tasks zerlegen, um zu verhindern, dass alle Threads die Schleifen ausführen müssen. Auch Reductions für C- und C++-Arrays führen die Entwickler ein und erfüllen damit einen häufig nachgefragten Featurewunsch.

Ein Hinweis-Mechanismus unterstützt Programmierer bei Fragen zur relativen Priorität von Aufgaben und zur bevorzugten Synchronisierungs-Implementierungen. Die Open-MP-4.5-Spezifikation beherrscht Thread-Affinity-Support - Laufzeitfunktionen können nun die Auswirkungen von Thread-Affinity-Clauses ermitteln. Nicht zuletzt unterstützt Open MP Fortran 2003 besser, weil User solche Programme parallelisieren können und kommt mit SIMD-Erweiterungen zurecht.

Während GCC 6.0 bereits die meisten Features der neuen Spezifikation unterstützt, landen diese nun allmählich auch in der Trunk-Version von Clang 4.8. Support in weiteren Compilern soll folgen, die komplette Spezifikation wartet in einem PDF.

Ähnliche Artikel

  • Spezifikation Open MP in Version 4.0

    Open MP bezeichnet sich selbst als De-facto-Standard für Parallelprogrammierung und will mit Version 4.0 seiner Spezifikation neben reiner HPC-Hardware nun auch DSPs, Echtzeitsysteme und Beschleuniger unterstützen.

  • GCC 6.1 setzt auf C++14

    Über ein Jahr haben die GCC-Entwickler an der neuen Major-Release 6.1 gearbeitet. Die verabschiedet sich unter anderem vom alten Frontend für C++98.

  • Media Source Extensions bereit für Implementierung

    Die vor allem von Google, Microsoft und Netflix entworfene W3C-Spezifikation für Media Source Extensions hat am 9. Januar 2014 den Status einer Kandidaten-Empfehlung (Candidate Recommendation) erhalten.

  • Triplecheck will mit SPDX Lizenzen checken

    Triplecheck ist eine freie Software mit grafischer Oberfläche, die zukünftig der Analyse von Software Compliance dienen soll. Sie liest und erstellt SPDX-Dokumente, und ihr Entwickler will sie auf der Fosdem vorstellen.

  • USB-3.2-Spezifikation angekündigt

    Die neue Spezifikation für Version 3.2 des USB-Standards verspricht, die Datenübertragungsgeschwindigkeit von USB 3 auf 20 Gbit/s zu steigern, indem sie alle Lanes zur Datenübertragung verwendet.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.