1.4 Kompatibilität
Eine Implementierung OpenMPs C/C++ API ist, wenn sie sich die Semantik aller Elemente dieser Spezifikation erkennt und verwaltet werden, wie in den Kapiteln 1, 2, 3, 4 und Anhang C angeordnet OpenMP-kompatibel .Anhänge A, B, D, E und F können nur zu Informationszwecken und sind nicht Teil der Spezifikation.Implementierungen, die nur eine Teilmenge der API einschließen, werden nicht OpenMP-kompatibel.
OpenMP C und C++ API ist eine Erweiterung der Sprache eine Basisklasse, die von einer Implementierung unterstützt wird.Wenn die Sprache kein Sprachkonstrukt oder eine Erweiterung unterstützt, die in diesem Dokument angezeigt wird, ist die OpenMP-Implementierung nicht erforderlich, um es zu unterstützen.
Alle Standard-C- und C++-Bibliotheksfunktionen und integrierte Funktionen (funktioniert das heißt Argument der Compiler bestimmtes Wissen besitzt) müssen threadsicher sein.Unsynchronisierter Verwendung von threadsicheren Funktionen von verschiedenen Threads innerhalb eines parallelen Bereichs erzeugt keine nicht definiertes Verhalten.Allerdings kann das Verhalten nicht dasselbe wie in einem seriellen Bereich.A-Zufallszahlengenerierungs () - Funktion ist ein Beispiel.
OpenMP C/C++ API gibt an, dass bestimmte Verhalten Implementierung-definiert wird*.* Eine anpassende erforderlich ist OpenMP-Implementierung definieren und Dokument sein Verhalten in diesen Fällen.Weitere Informationen finden Sie unter Anhang ESeite 97, für eine Liste von Implementierung-definierten Verhaltens.