欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

OpenMP 3.1 API 规范说明发布

程序员文章站 2022-05-09 09:13:40
...
OpenMP 3.1 API 规范说明发布


由Intel, NVIDIA, IBM, HP 以及 Microsoft组成的非盈利组织OpenMP Architecture 审查委员会正式发布了OpenMP 3.1 API规范说明。

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

ARB坦言,虽然这次的小发行并没有给已有的应用程序造成太大的影响,但与三年前的版本相比的确引进了许多新特性。它为未来的扩展奠定了坚实的平台,能够更好地支持新兴硬件的发展方向。除此以外,它还设置了C、C++预定义运算符的数量范围。支持扩展原子构造,抓取更新后的变量值以作后用。

对于包含有多个耗时的循环的应用,OpenMP特别有用,它可以将工作划分为多个线程。任一应用中划分粗糙的循环级别的并行机制的数量往往比较有限,限制了应用程序的可扩展性。一个并行区域可能嵌入在其它并行区域之内,但是它们缺省的执行方式是必须使用一个线程组来串行执行。

OpenMP 3.1 API规范下载:http://openmp.org/wp/openmp-specifications

官网信息:http://openmp.org/wp/

更多信息,请关注Michael Klemm博客