Skip to content
OpenMP
EntityQ496579· pop 26· linked from 260 articles

Also known as Open Multi-Processing

Software

Key facts

Software.name
OpenMP
Software.logo
OpenMP logo|180px
Software.author
OpenMP Architecture Review Board
Software.developer
OpenMP Architecture Review Board
Software.latest_release_version
6.0
Software.operating_system
Cross-platform
Software.platform
Cross-platform
Software.genre
Extension to C, C++, and Fortran; API
Software.license
Various

via Wikipedia infobox

Wikidata facts

Instance of
software
Official website
www.openmp.org
Show 5 more facts
software version identifier
6.0
operating system
cross-platform
programmed in
Q15777
Commons category
OpenMP
Sources (2)

via Wikidata · CC0

Article · Deutsch

OpenMP (Open Multi-Processing) ist eine seit 1997 gemeinschaftlich von mehreren Hardware- und Compilerherstellern entwickelte Programmierschnittstelle (API) für die Shared-Memory-Programmierung in C++, C und Fortran auf Multiprozessor-Computern. OpenMP parallelisiert Programme auf der Ebene von Schleifen, die in Threads ausgeführt werden, und unterscheidet sich dadurch von anderen Ansätzen (z. B. MPI), bei denen ganze Prozesse parallel laufen und durch Nachrichtenaustausch zusammenwirken. Der OpenMP-Standard definiert dazu spezielle Compiler-Direktiven, die diesen dann anweisen z. B. die Abarbeitung einer for-Schleife auf mehrere Threads oder Prozessoren zu verteilen. Alternativ gibt es Bibliotheksfunktionen und Umgebungsvariablen für die OpenMP-Programmierung. OpenMP ist zum Einsatz auf Systemen mit gemeinsamem Hauptspeicher („Shared-Memory“-Maschinen) gedacht (sogenannte UMA- und NUMA-Systeme), während andere Ansätze wie Message Passing Interface, PVM eher auf Multicomputern („Distributed-Memory“-Maschinen) aufsetzen. Bei modernen Supercomputern werden OpenMP und MPI (Message Passing Interface) oftmals zusammen eingesetzt. Dabei laufen auf einzelnen Shared-Memory-Clients OpenMP-Prozesse, die sich mittels MPI austauschen. Eine Eigenschaft von OpenMP ist, dass (bis auf Ausnahmen) die Programme auch korrekt laufen, wenn der Compiler die OpenMP-Anweisungen (siehe unten im Beispiel) nicht kennt und als Kommentar bewertet (also ignoriert). Der Grund dafür ist, dass eine mit OpenMP für mehrere Threads aufgeteilte for-Schleife auch mit einem einzelnen Thread sequentiell abgearbeitet werden kann.

Abstract from DBpedia / Wikipedia · CC BY-SA

Gallery (6)