OpenMP (Open Multi-Processing) is an API (Application Programming Interface) that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran, on most processor architectures and operating systems, including Unix, AIX, Solaris, Mac OS X, and Microsoft Windows platforms. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior.

PropertyValue
dbpedia-owl:abstract
  • OpenMP (Open Multi-Processing) ist eine seit 1997 gemeinschaftlich von verschiedenen Hardware- und Compilerherstellern entwickelte Programmierschnittstelle. Der Standard dient zur Shared-Memory-Programmierung in C/C++/Fortran auf Multiprozessor-Computern. Während bei der Parallelisierung von Programmen gemäß dem Paradigma des Nachrichtenaustauschs (siehe hierzu z. B. MPI) diese zumeist auf Prozessebene vollzogen wird, findet die Parallelisierung mittels OpenMP auf Thread-, bzw. Schleifenebene statt. 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, während andere Ansätze wie Message Passing Interface, PVM eher auf Multicomputern (Distributed-Memory Maschinen) aufsetzen. Bei modernen Supercomputern werden OpenMP und MPI oftmals zusammen eingesetzt. Dabei laufen auf einzelnen Shared-Memory-Clients OpenMP-Prozesse, die sich mittels MPI austauschen. Eine interessante 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). Das resultiert daher, dass eine mit OpenMP für mehrere Threads aufgeteilte for-Schleife natürlich auch mit einem einzelnen Thread sequentiell abgearbeitet werden kann.
  • OpenMP es una interfaz de programación de aplicaciones (API) para la programación multiproceso de memoria compartida en múltiples plataformas. Permite añadir concurrencia a los programas escritos en C, C++ y Fortran sobre la base del modelo de ejecución fork-join. Está disponible en muchas arquitecturas, incluidas las plataformas de Unix y de Microsoft Windows. Se compone de un conjunto de directivas de compilador, rutinas de biblioteca, y variables de entorno que influencian el comportamiento en tiempo de ejecución. Definido juntamente por un grupo de proveedores de hardware y de software mayores, OpenMP es un modelo de programación portable y escalable que proporciona a los programadores una interfaz simple y flexible para el desarrollo de aplicaciones paralelas para las plataformas que van desde las computadoras de escritorio hasta las supercomputadoras. Una aplicación construida con un modelo de programación paralela híbrido se puede ejecutar en un cluster de computadoras utilizando ambos OpenMP y MPI, o más transparentemente a través de las extensiones de OpenMP para los sistemas de memoria distribuida.
  • OpenMPは、並列コンピューティング環境を利用するために用いられる標準化された基盤。OpenMPは主に共有メモリ型並列計算機で用いられる。 MPIでは明示的にメッセージの交換をプログラム中に記述しなければならないが、OpenMPはOpenMPが使用できない環境では無視されるディレクティブを挿入することによって並列化を行う。このため並列環境と非並列環境でほぼ同一のソースコードを使用できるという利点がある。 MPIとの比較では、OpenMPは異なるスレッドが同一のデータを同じアドレスで参照できるのに対して、MPIでは明示的にメッセージ交換を行わなければならない。そのためSMP環境においては大きなデータの移動を行なわずにすむので高い効率が期待できる。ただし並列化の効率はコンパイラに依存するのでチューニングによる性能改善がMPIほど高くならないという問題がある。また、OpenMPはMPIに比べてメモリアクセスのローカリティが低くなる傾向があるので、頻繁なメモリアクセスがあるプログラムでは、MPIの方が高速な場合が多い。 現在FORTRANとC/C++について標準化が行われている。
  • OpenMP is een interface voor het programmeren van toepassingen die het programmeren voor meerdere processoren makkelijker maakt. De MP in OpenMP staat voor Multi Processing, Open betekent dat het een open standaard is, wat zoveel betekent dat iedereen er een implementatie van mag maken, zonder dat je daar een of andere instantie voor zou moeten betalen. OpenMP is gespecificeerd voor de talen C/C++ en Fortran. Om een programma goed gebruik te laten maken van meerdere processoren is het essentieel dat er delen van het programma parallel uitgevoerd kunnen worden. Dit wordt meestal gedaan door meerdere threads aan te maken, en deze threads dan een bepaald deel van het programma uit te laten voeren. Als dit goed wordt gedaan kan er extreem goed parallellisme mee behaald worden. Het is echter ook een vrij pittige manier, omdat veel programma's normaal gesproken erg serieel van opzet zijn. Er zijn vaak maar erg weinig taken die volkomen los staan van eerdere taken. OpenMP pakt het op een heel andere manier aan. In plaats van verschillende taken los van elkaar te laten lopen probeert het (delen van) één taak, die parallel zou kunnen worden uitgevoerd, tijdens runtime over verschillende threads te verdelen. Deze groep van threads heet een threadteam. De programmeur van een programma dat OpenMP gebruikt moet door middel van compileerexpressies aangeven welke delen parallel uitgevoerd zouden kunnen worden. OpenMP bepaalt dan tijdens runtime welke threads welk deel van welke taak uit moeten voeren. Een voorbeeld: #pragma omp parallel for for(int i = 0;i < 100000;i++) { array[i i] = array[i i] * array[i i]; } In dit voorbeeld geeft de expressie aan dat de inhoud van deze programmalus in principe parallel uitgevoerd kan worden. Het is bij deze lus namelijk niet belangrijk dat een eerdere iteratie al afgehandeld is. Of het dan uiteindelijk ook in parallel uitgevoerd gaat worden, en door hoeveel threads dat dan gedaan gaat worden mag OpenMP normaal gesproken zelf bepalen.
  • OpenMP er en API for SIMD multiprosessering i programmeringsspråkene C, C++ og Fortran. Den er tilgjengelig for mange datamaskinarkitekturer og operativsystemer, deriblant Unix, Unix-liknende systemer og Microsoft Windows. OpenMP består av et sett kompilator-direktiver, biblioteksrutiner og miljø-variabler. APIen utvider programmeringsspråkets syntaks på en slik måte at man kan utvikle parallelle programmer på ulike plattformer, fra personlige datamaskiner til superdatamaskiner. I dataklynger kan den parallelle utførelsen i OpenMP kombineres med et meldingsbasert grensesnitt.
  • OpenMP (ang. Open Multi-Processing) – wieloplatformowy interfejs programowania aplikacji umożliwiający tworzenie programów komputerowych dla systemów wieloprocesorowych z pamięcią dzieloną. Może być wykorzystywany w językach programowania C, C++ i Fortran na wielu architekturach, m. in. Unix i Microsoft Windows. Składa się ze zbioru dyrektyw kompilatora, bibliotek oraz zmiennych środowiskowych mających wpływ na sposób wykonywania się programu. Dzięki temu, że standard OpenMP został uzgodniony przez głównych producentów sprzętu i oprogramowania komputerowego, charakteryzuje się on przenośnością, skalowalnością, elastycznością i prostotą użycia. Dlatego może być stosowany do tworzenia aplikacji równoległych dla różnych platform, od komputerów klasy PC po superkomputery. OpenMP można stosować do tworzenia aplikacji równoległych na klastrach komputerów wieloprocesorowych. W tym przypadku zwykle stosuje się rozwiązanie hybrydowe, w którym programy są uruchamiane na klastrach komputerowych pod kontrolą alternatywnego interfejsu MPI, natomiast do urównoleglenia pracy węzłów klastrów wykorzystuje się OpenMPI. Alternatywny sposób polega na zastosowaniu specjalnych rozszerzeń OpenMP dla systemów pozbawionych pamięci współdzielonej.
  • O OpenMP (do inglês Open Multi-Processing, ou Multi-processamento aberto) é uma interface de programação de aplicativo para a programação multi-processo de memória compartilhada em múltiplas plataformas. Permite acrescentar simultaneidade aos programas escritos em C, C++ e Fortran sobre a base do modelo de execução fork-join. Está disponível em muitas arquiteturas, incluindo as plataforma Unix e Microsoft Windows. É constituída por um conjunto de diretivas de compilador, rotinas de biblioteca, e variáveis de ambiente que influenciam o comportamento do tempo de execução. Definido em conjunto por um grupo principal de fornecedores de hardware e de software, o OpenMP é um modelo de programação portável e escalável que proporciona aos programadores uma interface simples e flexível para o desenvolvimento de aplicações paralelas para as plataformas que vão dos computadores de escritório até os supercomputadores. Uma aplicação construída com um modelo de programação paralela híbrido pode ser executado em um cluster de computadores utilizando tanto os OpenMP e MPI, ou mais transparentemente através das extensões do OpenMP para os sistemas de memória distribuída.
  • OpenMP (Open Multi-Processing) is an API (Application Programming Interface) that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran, on most processor architectures and operating systems, including Unix, AIX, Solaris, Mac OS X, and Microsoft Windows platforms. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior. OpenMP is managed by the non-profit technology consortium OpenMP Architecture Review Board (or OpenMP ARB), jointly defined by a group of major computer hardware and software vendors, like AMD, IBM, Intel, Cray, HP, Fujitsu, NVIDIA, NEC, Microsoft, Texas Instruments, VMware, Oracle Corporation, and more. OpenMP uses a portable, scalable model that gives programmers a simple and flexible interface for developing parallel applications for platforms ranging from the standard desktop computer to the supercomputer. An application built with the hybrid model of parallel programming can run on a computer cluster using both OpenMP and MPI (Message Passing Interface), or more transparently through the use of OpenMP extensions for non-shared memory systems.
  • Template:Lang(Open Multi-Processing)是由OpenMP Architecture Review Board牵头提出的,并已被广泛接受的,用于共享内存并行系统的多线程程序设计的一套指导性注释(Compiler Directive)。OpenMP支持的程式語言包括C语言、C++和Fortran;而支持OpenMP的编译器包括Sun Studio和Intel Compiler,以及開放源碼的GCC和Open64編譯器。OpenMP提供了对并行算法的高层的抽象描述,程序员通过在原始碼中加入专用的pragma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。当选择忽略这些pragma,或者编译器不支持OpenMP时,程序又可退化为通常的程序(一般为串行),代码仍然可以正常运作,只是不能利用多线程来加速程序执行。
  • OpenMP (Open Multi-Processing) — открытый стандарт для распараллеливания программ на языках Си, Си++ и Фортран. Описывает совокупность директив компилятора, библиотечных процедур и переменных окружения, которые предназначены для программирования многопоточных приложений на многопроцессорных системах с общей памятью.
  • OpenMP (Open Multi-Processing) est une interface de programmation pour le calcul parallèle sur architecture à mémoire partagée. Cette API est supportée sur de nombreuses plateformes, incluant Unix et Windows, pour les langages de programmation C/C++ et Fortran. Il se présente sous la forme d'un ensemble de directives, d'une bibliothèque logicielle et de variables d'environnement. OpenMP est portable et dimensionnable. Il permet de développer rapidement des applications parallèles à petite granularité en restant proche du code séquentiel. La programmation parallèle hybride peut être réalisée par exemple en utilisant à la fois OpenMP et MPI.
dbpedia-owl:computingPlatform
dbpedia-owl:genre
dbpedia-owl:latestReleaseVersion
  • 3.1
dbpedia-owl:thumbnail
dbpedia-owl:wikiPageExternalLink
dbpprop:author
  • OpenMP Architecture Review Board
dbpprop:developer
  • OpenMP Architecture Review Board
dbpprop:genre
dbpprop:latestReleaseVersion
  • 3 (xsd:integer)
dbpprop:license
  • Various
dbpprop:logo
dbpprop:name
  • OpenMP
dbpprop:operatingSystem
dbpprop:platform
dbpprop:programmingLanguage
  • C, C++, and Fortran
dbpprop:website
dbpprop:wikiPageUsesTemplate
dcterms:subject
rdf:type
rdfs:comment
  • OpenMPは、並列コンピューティング環境を利用するために用いられる標準化された基盤。OpenMPは主に共有メモリ型並列計算機で用いられる。 MPIでは明示的にメッセージの交換をプログラム中に記述しなければならないが、OpenMPはOpenMPが使用できない環境では無視されるディレクティブを挿入することによって並列化を行う。このため並列環境と非並列環境でほぼ同一のソースコードを使用できるという利点がある。 MPIとの比較では、OpenMPは異なるスレッドが同一のデータを同じアドレスで参照できるのに対して、MPIでは明示的にメッセージ交換を行わなければならない。そのためSMP環境においては大きなデータの移動を行なわずにすむので高い効率が期待できる。ただし並列化の効率はコンパイラに依存するのでチューニングによる性能改善がMPIほど高くならないという問題がある。また、OpenMPはMPIに比べてメモリアクセスのローカリティが低くなる傾向があるので、頻繁なメモリアクセスがあるプログラムでは、MPIの方が高速な場合が多い。 現在FORTRANとC/C++について標準化が行われている。
  • Template:Lang(Open Multi-Processing)是由OpenMP Architecture Review Board牵头提出的,并已被广泛接受的,用于共享内存并行系统的多线程程序设计的一套指导性注释(Compiler Directive)。OpenMP支持的程式語言包括C语言、C++和Fortran;而支持OpenMP的编译器包括Sun Studio和Intel Compiler,以及開放源碼的GCC和Open64編譯器。OpenMP提供了对并行算法的高层的抽象描述,程序员通过在原始碼中加入专用的pragma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。当选择忽略这些pragma,或者编译器不支持OpenMP时,程序又可退化为通常的程序(一般为串行),代码仍然可以正常运作,只是不能利用多线程来加速程序执行。
  • OpenMP (Open Multi-Processing) — открытый стандарт для распараллеливания программ на языках Си, Си++ и Фортран. Описывает совокупность директив компилятора, библиотечных процедур и переменных окружения, которые предназначены для программирования многопоточных приложений на многопроцессорных системах с общей памятью.
  • OpenMP (Open Multi-Processing) ist eine seit 1997 gemeinschaftlich von verschiedenen Hardware- und Compilerherstellern entwickelte Programmierschnittstelle. Der Standard dient zur Shared-Memory-Programmierung in C/C++/Fortran auf Multiprozessor-Computern. Während bei der Parallelisierung von Programmen gemäß dem Paradigma des Nachrichtenaustauschs (siehe hierzu z. B. MPI) diese zumeist auf Prozessebene vollzogen wird, findet die Parallelisierung mittels OpenMP auf Thread-, bzw.
  • OpenMP es una interfaz de programación de aplicaciones (API) para la programación multiproceso de memoria compartida en múltiples plataformas. Permite añadir concurrencia a los programas escritos en C, C++ y Fortran sobre la base del modelo de ejecución fork-join. Está disponible en muchas arquitecturas, incluidas las plataformas de Unix y de Microsoft Windows.
  • OpenMP is een interface voor het programmeren van toepassingen die het programmeren voor meerdere processoren makkelijker maakt. De MP in OpenMP staat voor Multi Processing, Open betekent dat het een open standaard is, wat zoveel betekent dat iedereen er een implementatie van mag maken, zonder dat je daar een of andere instantie voor zou moeten betalen. OpenMP is gespecificeerd voor de talen C/C++ en Fortran.
  • OpenMP er en API for SIMD multiprosessering i programmeringsspråkene C, C++ og Fortran. Den er tilgjengelig for mange datamaskinarkitekturer og operativsystemer, deriblant Unix, Unix-liknende systemer og Microsoft Windows. OpenMP består av et sett kompilator-direktiver, biblioteksrutiner og miljø-variabler. APIen utvider programmeringsspråkets syntaks på en slik måte at man kan utvikle parallelle programmer på ulike plattformer, fra personlige datamaskiner til superdatamaskiner.
  • OpenMP (ang. Open Multi-Processing) – wieloplatformowy interfejs programowania aplikacji umożliwiający tworzenie programów komputerowych dla systemów wieloprocesorowych z pamięcią dzieloną. Może być wykorzystywany w językach programowania C, C++ i Fortran na wielu architekturach, m. in. Unix i Microsoft Windows. Składa się ze zbioru dyrektyw kompilatora, bibliotek oraz zmiennych środowiskowych mających wpływ na sposób wykonywania się programu.
  • O OpenMP (do inglês Open Multi-Processing, ou Multi-processamento aberto) é uma interface de programação de aplicativo para a programação multi-processo de memória compartilhada em múltiplas plataformas. Permite acrescentar simultaneidade aos programas escritos em C, C++ e Fortran sobre a base do modelo de execução fork-join. Está disponível em muitas arquiteturas, incluindo as plataforma Unix e Microsoft Windows.
  • OpenMP (Open Multi-Processing) is an API (Application Programming Interface) that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran, on most processor architectures and operating systems, including Unix, AIX, Solaris, Mac OS X, and Microsoft Windows platforms. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior.
  • OpenMP (Open Multi-Processing) est une interface de programmation pour le calcul parallèle sur architecture à mémoire partagée. Cette API est supportée sur de nombreuses plateformes, incluant Unix et Windows, pour les langages de programmation C/C++ et Fortran. Il se présente sous la forme d'un ensemble de directives, d'une bibliothèque logicielle et de variables d'environnement. OpenMP est portable et dimensionnable.
rdfs:label
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
owl:sameAs
foaf:depiction
foaf:homepage
foaf:name
  • OpenMP
foaf:page
is dbpedia-owl:wikiPageDisambiguates of
is dbpedia-owl:wikiPageRedirects of
is owl:sameAs of
is foaf:primaryTopic of