OpenMP

OpenMP
OpenMP logo
原作者OpenMP Architecture Review Board[1]
開發者OpenMP Architecture Review Board[1]
当前版本5.0(2018年11月8日,​6年前​(2018-11-08
编程语言C, C++, Fortran
操作系统跨平台
平台跨平台
类型API
许可协议多种[2]
网站http://openmp.org

OpenMP(Open Multi-Processing)是一套支持跨平台共享内存方式的多线程并发的编程API,使用C,C++Fortran语言,可以在大多数的处理器体系和操作系统中运行,包括Solaris, AIX, HP-UX, GNU/Linux, Mac OS X, 和Microsoft Windows。包括一套编译器指令、库和一些能够影响运行行为的环境变量。

OpenMP采用可移植的、可扩展的模型,为程序员提供了一个简单而灵活的开发平台,从标准桌面电脑到超级计算机的并行应用程序接口。

混合并行编程模型构建的应用程序可以同时使用OpenMP和MPI,或更透明地通过使用OpenMP扩展的非共享内存系统上运行的计算机集群。

OpenMP是由OpenMP Architecture Review Board牵头提出的,并已被广泛接受的,用于共享内存并行系统的多线程程序设计的一套指导性注释(Compiler Directive)。OpenMP支持的程式語言包括C语言C++Fortran;而支持OpenMP的编译器包括Sun StudioIntel Compiler,以及開放源碼GCCLLVMOpen64編譯器。OpenMP提供了对并行算法的高层的抽象描述,程序员通过在原始碼中加入专用的pragma来指明自己的意图,由此编译器可以自动将程序进行并行化,并在必要之处加入同步互斥以及通信。当选择忽略这些pragma,或者编译器不支持OpenMP时,程序又可退化为通常的程序(一般为串行),程式码仍然可以正常运作,只是不能利用多线程来加速程序执行。

  1. ^ 1.0 1.1 About the OpenMP ARB and. OpenMP.org. 2013-07-11 [2013-08-14]. (原始内容存档于2013-08-09). 
  2. ^ OpenMP Compilers. OpenMP.org. 2013-04-10 [2013-08-14]. (原始内容存档于2013-07-17). 

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne