文档介绍:该【并行编程环境 】是由【rongfunian】上传分享,文档一共【22】页,该文档可以免费在线阅读,需要了解更多关于【并行编程环境 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。二、并行编程语言与编译器
三、并行程序员的工作
四、并行程序设计
OpenMP概述
OpenMP应用编程接口API是在共享存储体系结构上的一个编程模型
包含编译制导(Compiler Directive)、运行库例程(Runtime Library)和环境变量(Environment Variables)
支持增量并行化(Incremental Parallelization)
什么是OpenMP
什么是OpenMP
应用编程接口API(Application Programming Interface )
由三个基本API部分(编译指令、运行部分和环境变量)构成
是C/C++ 和Fortan等的应用编程接口
已经被大多数计算机硬件和软件厂家所标准化
OpenMP不包含的性质
不是建立在分布式存储系统上的
不是在所有的环境下都是一样的
不是能保证让多数共享存储器均能有效的利用
OpenMP的历史
1994年,第一个ANSI X3H5草案提出,被否决
1997年,OpenMP标准规范代替原先被否决的ANSI X3H5,被人们认可
1997年10月公布了与Fortran语言捆绑的第一个标准规范 FORTRAN version
1998年11月9日公布了支持C和C++的标准规范C/C++ version
2000年11月推出FORTRAN version
2002年3月推出C/C++ version
++ 标准规范相结合
相关的规范可在
OpenMP的目标
标准性
简洁实用
使用方便
可移植性
OpenMP并行编程模型
基于线程的并行编程模型(Programming Model)
OpenMP使用Fork-Join并行执行模型
编译制导
OpenMP的#pragma语句的格式为
#pragma omp directive_name …
#pragma omp
directive-name
[clause, ...]
newline
制导指令前缀。对
所有的OpenMP语
句都需要这样的前
缀。
OpenMP制导指
令。在制导指令前
缀和子句之间必须
有一个正确的
OpenMP制导指
令。
子句。在没有其它
约束条件下,子句
可以无序,也可以
任意的选择。 这一
部分也可以没有。
换行符。表明这条
制导语句的终止。
编译制导
作用域
静态扩展
文本代码在一个编译制导语句之后,被封装到一个结构块中
孤立语句
一个OpenMP的编译制导语句不依赖于其它的语句
动态扩展
包括静态范围和孤立语句