- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OpenMP编程指南
现代密码学理论与实践之五 并行算法实践 OpenMP编程指南 OpenMP概述 OpenMP编程风络 OpenMP编程简介 运行库例程与环境变量 OpenMP计算实例 OpenMP概述 OpenMP应用编程接口API是在共享存储体系结构上的一个编程模型 包含编译制导(Compiler Directive)、运行库例程(Runtime Library)和环境变量(Environment Variables) 支持增量并行化(Incremental Parallelization) OpenMP体系结构 什么是OpenMP 什么是OpenMP 应用编程接口API(Application Programming Interface ) 由三个基本API部分(编译指令、运行部分和环境变量)构成 是C/C++ 和Fortan等的应用编程接口 已经被大多数计算机硬件和软件厂家所标准化 OpenMP不包含的性质 不是建立在分布式存储系统上的 不是在所有的环境下都是一样的 不是能保证让多数共享存储器均能有效的利用 OpenMP的历史 1994年,第一个ANSI X3H5草案提出,被否决 1997年,OpenMP标准规范代替原先被否决的ANSI X3H5,被人们认可 1997年10月公布了与Fortran语言捆绑的第一个标准规范 1998年11月9日公布了支持C和C++的标准规范 目前Fortran77、Fortran90、C、C++语言的实现规范已经完成 OpenMP的目标 标准性 简洁实用 使用方便 可移植性 OpenMP并行编程模型 基于线程的并行编程模型(Programming Model) OpenMP使用Fork-Join并行执行模型 OpenMP程序结构 基于Fortran语言的OpenMP程序的结构 PROGRAM HELLOINTEGER VAR1, VAR2, VAR3 !Serial code … !Beginning of parallel section. Fork a team of threads. !Specify variable scoping !$OMP PARALLEL PRIVATE(VAR1, VAR2) SHARED(VAR3) !Parallel section executed by all threads … !All threads join master thread and disband!$OMP END PARALLEL !Resume serial code …END OpenMP程序结构 基于c/c++语言的OpenMP程序的结构 #include omp.h main (){ int var1, var2, var3; /*Serial code*/ … /*Beginning of parallel section. Fork a team ofthreads*/ /*Specify variable scoping */ #pragma omp parallel private(var1, var2) shared(var3) { /*Parallel section executed by all threads*/ … /*All threads join master thread and disband*/ } /*Resume serial code */ … } 一个简单的OpenMP程序实例 基于C/C++语言的OpenMP程序结构的一个具体实现 #include omp.h int main(int argc, char* argv[]) { int nthreads, tid; int nprocs; char buf[32]; /* Fork a team of threads */ #pragma omp parallel private(nthreads, tid) { /* Obtain and print thread id */ tid = omp_get_thread_num(); printf(Hello World from OMP thread %d\n, tid); /* Only master thread does this */ if (tid==
您可能关注的文档
- LZ网状超平体雕术专题.ppt
- LZ自体脂肪鲜活细胞丰小腿专题作者李朕.ppt
- L数组.ppt
- l熟悉内部结构l掌握的寄存器组和.ppt
- MACDKDJ学习股票操作技巧.ppt
- MacaoHNUpdate澳门HN更新.ppt
- MACD与KDJ.ppt
- MACD指标快速入门.ppt
- MACD指标的基本认识.ppt
- MACD操作股票实例图解.ppt
- 2024至2030年中国人造棉面料行业投资前景及策略咨询报告.docx
- 重庆市渝中区遴选公务员2024年国家公务员考试考试大纲历年真题10340笔试历年典型考题及解题思路附.docx
- 2024至2030年中国甲基苯乙酮行业深度调研及发展预测报告.docx
- 2024至2030年中国羚羊角类饮片行业深度调查与前景预测分析报告.docx
- 重庆市面向中国农业大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题14笔试历.docx
- 重庆市面向西北工业大学定向选调2024届大学毕业生00笔试历年典型考题及解题思路附答案详解.docx
- 中国不动杆菌感染治疗药行业市场现状分析及竞争格局与投资发展研究报告2024-2029版.docx
- 2024至2030年全球与中国ETL软件市场现状及未来发展趋势.docx
- 初中八年级(初二)生物下册期末考试1含答案解析.docx
- 干簧式继电器项目申请报告.docx
文档评论(0)