OpenMP OpenMPOpen MultiProcessing是一套支持跨平台共享内存方式的多线程并发的编程API使用CC和Fortran语言可以在大多数的处理器体系和操作系统中运行包括Solaris AIX HPUX GNULinux Mac OS X 和Microsoft Windows包括一套编译器指令库和一些能够影响运行行为的环境变量 OpenMP采用可移植的可扩展的模型为程序员提供了一个简单而灵活的开发平台从标准桌面电脑到超级计算机的并行应用程序接口 混合并行编程模型构建的应用程序可以同时使用OpenMP和MPI或更透明地通过使用OpenMP扩展的非共享内存系统上运行的计算机集群 OpenMP是由OpenMP Architecture Review Board牵头提出的并已被广泛接受的用于共享内存并行系统的多线程程序设计的一套指导性注释Compiler DirectiveOpenMP支持的程式語言包括C语言C和Fortran而支持OpenMP的编译器包括Sun Studio和Intel Compiler以及開放源碼的GCCLLVM和Open編譯器OpenMP提供了对并行算法的高层的抽象描述程序员通过在原始碼中加入专用的pragma来指明自己的意图由此编译器可以自动将程序进行并行化并在必要之处加入同步互斥以及通信当选择忽略这些pragma或者编译器不支持OpenMP时程序又可退化为通常的程序一般为串行程式码仍然可以正常运作只是不能利用多线程来加速程序执行