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

Also known as Open Multi-Processing

OpenMP is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems, including Solaris, AIX, FreeBSD, HP-UX, Linux, macOS, Windows and OpenHarmony. It consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior.

In the Vinony graph

Vinony's link graph records 260 inbound references to OpenMP, and connects out to Fortran, application programming interface and parallel computing.

It sits within the topics Application programming interfaces, C programming language family and Fortran.

Vinony links it to 22 Wikipedia language editions.

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
C
Commons category
OpenMP
Sources (2)

via Wikidata · CC0

Article · 日本語

OpenMP(オープンエムピー)は、並列計算機環境において共有メモリ・マルチスレッド型の並列アプリケーションソフトウェア開発をサポートするために標準化されたAPIである。「OpenMP」は「open multiprocessing」の略である。 同様に並列コンピューティングに利用されるMPIでは、メッセージの交換をプログラム中に明示的に記述しなければならないが、OpenMPではディレクティブを挿入することによって並列化を行う。OpenMPが使用できない環境では、このディレクティブは無視されるため、並列環境と非並列環境でほぼ同一のソースコードを使用できるという利点がある。また、プラットフォーム固有のスレッドAPIを使わず、コンパイラによって暗黙的に生成されたスレッドプールを利用してタスクを振り分けることになるため、並列プログラムを簡潔に記述できるだけでなく、複数の環境に移植しやすくなる。 MPIとの比較では、OpenMPは異なるスレッドが同一のデータを同じアドレスで参照できるのに対して、MPIでは明示的にメッセージ交換を行わなければならない。そのため、OpenMPは、SMP環境においては大きなデータの移動を行なわずにすむので高い効率が期待できる。ただし並列化の効率はコンパイラに依存するので、チューニングによる性能改善がMPIほど高くならないという問題がある。また、OpenMPはMPIに比べてメモリアクセスのローカリティが低くなる傾向があるので、頻繁なメモリアクセスがあるプログラムでは、MPIの方が高速な場合が多い。 OpenMPは、並列プログラミングにおいて最も広く利用されているAPIであるが、共有メモリに対してに近いアクセスができるハードウェアシステムアーキテクチャでは、スケーラビリティに限界がある。そのため、現在のほとんどのスーパーコンピューターでは、OpenMP単独ではなく、分散メモリ環境で高いスケーラビリティを発揮するMPIと組み合わせた、ハイブリッドMPI+OpenMPが利用されている。 現在FORTRANとC/C++について標準化が行われている。

Abstract from DBpedia / Wikipedia · CC BY-SA

Gallery (6)

Connections

Categories