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