The OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared memory multiprocessing programming in C, C++ and Fortran on many architectures, including Unix and Microsoft Windows platforms. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior.

PropertyValue
dbpprop:abstract
  • The OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared memory multiprocessing programming in C, C++ and Fortran on many architectures, including Unix and Microsoft Windows platforms. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior. Jointly defined by a group of major computer hardware and software vendors, OpenMP is a portable, scalable model that gives programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer. An application built with the hybrid model of parallel programming can run on a computer cluster using both OpenMP and Message Passing Interface (MPI), or more transparently through the use of OpenMP extensions for non-shared memory systems.
  • 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 (Open Multip-Processing) és una interfície de programació d'aplicacions (API) que suporta programació multiprocés amb memòria compartida multi-plataforma en C/C++ i Fortran a moltes arquitectures, incloent les plataformes Unix i Microsoft Windows. Consisteix en un conjunt de directives de compilador, rutines de biblioteques, i variables d'entorn que afecten al comportament en temps d'execució. Definit conjuntament per un grup dels principals fabricants de maquinari i programari, OpenMP és un model portable i escalable que dóna als programadors una interfície simple i flexible per a desenvolupar aplicacions paral·leles per a plataformes que van des de l'escriptori fins als supercomputadors. Una aplicació construida amb el model híbrid de programació paral·lela pot executar-se en un cluster d'ordinadors fent servir OpenMP i Message Passing Interface (MPI).
  • OpenMP je soustava direktiv pro překladač a knihovních procedur pro paralelní programování. Jedná se o standard pro programování počítačů se sdílenou pamětí. OpenMP usnadňuje vytváření vícevláknových programů v programovacích jazycích Fortran, C a C++. První OpenMP standard pro FORTRAN 1.0 byl publikován v roce 1997. Rok poté byl uvolněn standard pro C/C++. Standard verze 2.0 byl uvolněn pro FORTRAN v roce 2000 a pro C/C++ v roce 2002. Aktuální je verze 2.5, která byla jako kombinovaná pro jazyky C/C++/FORTRAN uvolněna v roce 2005.
  • OpenMP es una API que permite añadir concurrencia a las aplicaciones mediante paralelismo con memoria compartida. Se basa en la creación de hilos de ejecución paralelos compartiendo las variables del proceso padre que los crea. Esta disponible en múltiples plataformas y lenguajes, desde las derivadas de UNIX hasta las plataforma Windows. Existen extensiones para los lenguajes más conocidos como C, C++, Fortran,...
  • 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.
  • OpenMPは、並列コンピューティング環境を利用するために用いられる標準化された基盤。OpenMPは主に共有メモリ型並列計算機で用いられる。 MPIでは明示的にメッセージの交換をプログラム中に記述しなければならないが、OpenMPはOpenMPが使用できない環境では無視されるディレクティブを挿入することによって並列化を行う。このため並列環境と非並列環境でほぼ同一のソースコードを使用できるという利点がある。 MPIとの比較では、OpenMPは異なるスレッドが同一のデータを同じアドレスで参照できるのに対して、MPIでは明示的にメッセージ交換を行わなければならない。そのためSMP環境においては大きなデータの移動を行なわずにすむので高い効率が期待できる。ただし並列化の効率はコンパイラに依存するのでチューニングによる性能改善が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 hele andere manier aan. In plaats van verschillende taken los van elkaar te laten lopen probeert het (delen van) één taak die parallel zouden 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] = array[i] * array[i]; In dit voorbeeld geeft de expressie #pragma omp parallel for 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 aplication programming interface que suporta multi-plataforma memória compartilhada para programação em C, C++ e Fortran em várias arquiteturas, incluindo plataformas Unix e Microsoft Windows. É constituída por um conjunto de compiler directives, rotinas de biblioteca e variável de ambiente que influenciam na execução do programa. Conjuntamente definido por um grupo de computador principal (ou computadores principais) fornecedor(es) de software, OpenMP é um modelo portátil e otimizado que dá aos programador(es) uma interface simples e flexível para o desenvolvimento de aplicações paralelas para plataformas que vão desde um computador pessoal até um supercomputador. Uma aplicação construída com o modelo híbrido de programação paralela pode ser executada em um cluster usando tanto OpenMP e MPI (do inglês Message Passing Interface, Interface de transmissão de informação), ou mais claramente através da utilização das extensões OpenMP para sistemas de memória não partilhada (por exemplo, o Intel Cluster OpenMP).
  • OpenMP (Open Multi-Processing) это набор директив компилятора, библиотечных процедур и переменных окружения, которые предназначены для программирования многопоточных приложений на многопроцессорных системах с единой памятью на языках C, C++ и Fortran. Разработку спецификации OpenMP ведут несколько крупных производителей вычислительной техники и программного обеспечения, чья работа регулируется некоммерческой организацией, называемой OpenMP Architecture Review Board (ARB) . Детальная спецификация OpenMP находится на странице .
  • OpenMP (Open Multi-Processing) — це набір директив компілятора, бібліотечних процедур та змінних середовища, які призначені для програмування багатонитевих застосунків на багатопроцесорних системах з вашої пам'яттю на мовах C, C++ та Fortran. Розробку специфікації OpenMP ведуть кілька великих виробників обчислювальної техніки та програмного забезпечення, робота яких регулюється некомерційною організацією, названою OpenMP Architecture Review Board (ARB). Детальна специфікація OpenMP міститься на сторінці. Специфікації для мов Fortran і C/C++ з'явилися відповідно в жовтні 1997 року і жовтні 1998 року.
  • OpenMP是由OpenMP Architecture Review Board牵头提出的,并已被广泛接受的,用于共享内存并行系统的多线程程序设计的一套指导性注释(Compiler Directive)。OpenMP支持的程式語言包括C语言、C++和Fortran;而支持OpenMP的编译器包括Sun Studio、GNU Compiler、Open64和Intel Compiler等。OpenMP提供了对并行算法的高层的抽象描述,程序员通过在原始碼中加入专用的pragma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。当选择忽略这些pragma,或者编译器不支持OpenMP时,程序又可退化为通常的程序(一般为串行),代码仍然可以正常运作,只是不能利用多线程来加速程序执行。 OpenMP提供的这种对于并行描述的高层抽象降低了并行编程的难度和复杂度,这样程序员可以把更多的精力投入到并行算法本身,而非其具体实现细节。对基于数据分集的多线程程序设计,OpenMP是一个很好的选择。同时,使用OpenMP也提供了更强的灵活性,可以较容易的适应不同的并行系统配置。线程粒度和负载平衡等是传统多线程程序设计中的难题,但在OpenMP中,OpenMP库从程序员手中接管了部分这两方面的工作。 但是,作为高层抽象,OpenMP并不适合需要复杂的线程间同步和互斥的场合。 OpenMP的另一个缺点是不能在非共享内存系统(如计算机集群)上使用。在这样的系统上,MPI使用较多。
dbpprop:hasPhotoCollection
dbpprop:reference
rdfs:comment
  • The OpenMP (Open Multi-Processing) is an application programming interface (API) that supports multi-platform shared memory multiprocessing programming in C, C++ and Fortran on many architectures, including Unix 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) 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 (Open Multip-Processing) és una interfície de programació d'aplicacions (API) que suporta programació multiprocés amb memòria compartida multi-plataforma en C/C++ i Fortran a moltes arquitectures, incloent les plataformes Unix i Microsoft Windows. Consisteix en un conjunt de directives de compilador, rutines de biblioteques, i variables d'entorn que afecten al comportament en temps d'execució.
  • OpenMP je soustava direktiv pro překladač a knihovních procedur pro paralelní programování. Jedná se o standard pro programování počítačů se sdílenou pamětí. OpenMP usnadňuje vytváření vícevláknových programů v programovacích jazycích Fortran, C a C++. První OpenMP standard pro FORTRAN 1.0 byl publikován v roce 1997. Rok poté byl uvolněn standard pro C/C++. Standard verze 2.0 byl uvolněn pro FORTRAN v roce 2000 a pro C/C++ v roce 2002.
  • OpenMP es una API que permite añadir concurrencia a las aplicaciones mediante paralelismo con memoria compartida. Se basa en la creación de hilos de ejecución paralelos compartiendo las variables del proceso padre que los crea. Esta disponible en múltiples plataformas y lenguajes, desde las derivadas de UNIX hasta las plataforma Windows. Existen extensiones para los lenguajes más conocidos como C, C++, Fortran,...
  • 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.
  • 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 aplication programming interface que suporta multi-plataforma memória compartilhada para programação em C, C++ e Fortran em várias arquiteturas, incluindo plataformas Unix e Microsoft Windows. É constituída por um conjunto de compiler directives, rotinas de biblioteca e variável de ambiente que influenciam na execução do programa.
  • OpenMP (Open Multi-Processing) это набор директив компилятора, библиотечных процедур и переменных окружения, которые предназначены для программирования многопоточных приложений на многопроцессорных системах с единой памятью на языках C, C++ и Fortran.
  • OpenMP (Open Multi-Processing) — це набір директив компілятора, бібліотечних процедур та змінних середовища, які призначені для програмування багатонитевих застосунків на багатопроцесорних системах з вашої пам'яттю на мовах C, C++ та Fortran.
rdfs:label
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
  • OpenMP
owl:sameAs
skos:subject
foaf:homepage
foaf:page
is dbpprop:redirect of