OpenMP (Open Multi-Processing) ist eine seit 1997 gemeinschaftlich von verschiedenen 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 verschiedenen 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.

Property Value
dbo:abstract
  • OpenMP (Open Multi-Processing) ist eine seit 1997 gemeinschaftlich von verschiedenen 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 verschiedenen 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 und/oder Prozessoren zu verteilen. Es existieren jedoch auch Bibliotheksfunktionen sowie Umgebungsvariablen, die zur OpenMP-Programmierung dienen. 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. (de)
  • OpenMP (Open Multi-Processing) ist eine seit 1997 gemeinschaftlich von verschiedenen 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 verschiedenen 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 und/oder Prozessoren zu verteilen. Es existieren jedoch auch Bibliotheksfunktionen sowie Umgebungsvariablen, die zur OpenMP-Programmierung dienen. 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. (de)
dbo:category
dbo:developer
dbo:latestPreviewVersion
  • -
dbo:latestReleaseVersion
  • Version 4.5
dbo:operatingSystem
dbo:thumbnail
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 490606 (xsd:integer)
dbo:wikiPageRevisionID
  • 155846919 (xsd:integer)
prop-de:aktuelleversionfreigabedatum
  • November 2015
prop-de:compiler
  • GCC, IBM, Intel, u. a.
prop-de:deutsch
  • nein
prop-de:lizenz
  • unbekannt
prop-de:screenshot
  • 168 (xsd:integer)
prop-de:sprachen
prop-de:text
  • OpenMP-Programmiergrundlagen
prop-de:url
prop-de:wayback
  • 20111111165214 (xsd:double)
dc:description
  • OpenMP Logo
dct:subject
rdf:type
rdfs:comment
  • OpenMP (Open Multi-Processing) ist eine seit 1997 gemeinschaftlich von verschiedenen 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 verschiedenen 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. (de)
  • OpenMP (Open Multi-Processing) ist eine seit 1997 gemeinschaftlich von verschiedenen 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 verschiedenen 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. (de)
rdfs:label
  • OpenMP (de)
  • OpenMP (de)
owl:sameAs
prov:wasDerivedFrom
foaf:depiction
foaf:homepage
foaf:isPrimaryTopicOf
foaf:name
  • OpenMP (de)
  • OpenMP (de)
foaf:page
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is foaf:primaryTopic of