Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Anhang werden die wichtigsten Änderungen zusammengefasst, die an der OpenMP C/C++-Spezifikation vorgenommen wurden, um von Version 1.0 auf Version 2.0 zu wechseln. Die folgenden Elemente sind neue Features, die der Spezifikation hinzugefügt werden:
Addition der
num_threadsKlausel. Mit dieser Klausel kann ein Benutzer eine bestimmte Anzahl von Threads für ein paralleles Konstrukt anfordern.Die Threadprivate-Direktive wurde erweitert, um statische Blockbereichsvariablen zu akzeptieren.
C99 Variable Length Arrays sind vollständige Typen und können an einer beliebigen Stelle vollständiger Typen angegeben werden, z. B. in den Listen von
private, undfirstprivatelastprivateKlauseln (siehe Abschnitt 2.7.2).Eine private Variable in einem parallelen Bereich kann in einer geschachtelten Direktive erneut als privat gekennzeichnet werden.
Die
copyprivateKlausel wurde hinzugefügt. Sie stellt einen Mechanismus bereit, mit dem eine private Variable einen Wert von einem Mitglied eines Teams an die anderen Mitglieder übertragen kann. Dies ist eine Alternative zur Verwendung einer freigegebenen Variablen für den Wert, wenn das Bereitstellen einer solchen freigegebenen Variable schwierig wäre (z. B. in einer Rekursion, die eine andere Variable auf jeder Ebene erfordert). Die copyprivate-Klausel kann nur in dersingleDirektive angezeigt werden.Hinzufügung von Timing-Routinen omp_get_wtick und omp_get_wtime ähnlich wie die MPI-Routinen. Diese Funktionen sind erforderlich, um Die Anzeigedauern für die Wanduhr durchzuführen.
Ein Anhang mit einer Liste von implementierungsdefiniertem Verhalten in OpenMP C/C++ wurde hinzugefügt. Eine Implementierung ist erforderlich, um sein Verhalten in diesen Fällen zu definieren und zu dokumentieren.
Die folgenden Änderungen dienen dazu, Features in der vorherigen OpenMP-API-Spezifikation für C/C++ zu klären oder zu korrigieren:
Es wurde klargestellt, dass das Verhalten von omp_set_nested und omp_set_dynamic , wenn
omp_in_parallel"nonzero" nicht definiert ist.Klärung der Direktivenschachtelung , wenn geschachtelte Parallele verwendet werden.
Die Sperrinitialisierungs - und Sperrvernichtungsfunktionen können in einem parallelen Bereich aufgerufen werden.
Dem Anhang A wurden neue Beispiele hinzugefügt.