OpenMP
OpenMP是由
OpenMPArchitectureReviewBoard牽頭提出的,并已被廣泛接受,用于共享內存并行系統的多處理器程序設計的一套指導性編譯處理方案(CompilerDirective)[1]。
OpenMP支持的編程語言包括C、C++和Fortran;而支持
OpenMP的編譯器包括SunCompiler,GNUCompiler和IntelCompiler等。
OpenMP提供了對并行算法的高層的抽象描述,程序員通過在源代碼中加入專用的pragma來指明自己的意圖,由此編譯器可以自動將程序進行并行化,并在必要之處加入同步互斥以及通信。當選擇忽略這些pragma,或者編譯器不支持
OpenMP時,程序又可退化為通常的程序(一般為串行),代碼仍然可以正常運作,只是不能利用多線程來加速程序執行。