网站大量收购独家精品文档,联系QQ:2885784924

最简单的MPI程序 Hello world(C) - 中国科学院紫金山天文台.ppt

最简单的MPI程序 Hello world(C) - 中国科学院紫金山天文台.ppt

  1. 1、本文档共108页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最简单的MPI程序 Hello world(C) - 中国科学院紫金山天文台.ppt

;参考文献;相关网址;共享存储编程 Programming with Shared Memory;共享存储并行机模型;共享存储编程标准与特点;并行编程标准;为什么流行多线程编程?;Pthreads线程模型;线程管理(Pthread为例);同步对象;互斥锁函数;条件变量的函数;Hello World(1);;;Hello World(2);Hello World(3);运行结果;基于多线程编程的PI求解;;void main(argc,argv) int argc; char* argv[]; { int i; /*check command line */ if(argc != 3) { printf(Usage: %s Num_intervals Num_threads\n,argv[0]); exit(0); } /*get num intervals and num threads from command line*/ n = atoi(argv[1]); num_threads = atoi(argv[2]); w = 1.0 / (double)n; pi = 0.0; tid = (pthread_t*) calloc (num_threads,sizeof(pthread_t));;多线程并行编程特点;并行编程标准;;与X3H5的关系;ANSI X3H5共享编程标准;X3H5编程实例;X3H5例程执行过程描述;OpenMP: 并行模型;如何应用OpenMP?;线程间如何交互?;OpenMP术语;Structured blocks(结构???块);OpenMP结构化块类型;Parallel Regions(并行区);并行区的Lecical / dynamic extent 以及Orphaned 制所语句;并行区代码流程;Hello World(C);Hello World(Fortran);OpenMP并行程序编译;一些细节(可先不关心);OpenMP结构化块类型;循环分割:DO(Fortran)/for(C)结构;比较parrallel构造与for构造;并行区与任务分割间的关系;更详细的for语法;更详细的DO语法;DO/for使用注意事项;schedule;Schedule示意图;适用条件;NOWAIT子句(Fortran);no wait子句(C);Sections构造(非循环并行);Single;Work sharing语句汇总;Binding 并行结构的联合使用;Fortran;C;OpenMP结构化块类型;默认数据类型;举例说明变量类型;变量类型改变;私有类型变量;Threadprivate: 线程的全局私有变量;Private;;?;Firstprivate;Lastprivate;默认情形=default(shared)(因此不显示使用) 改变默认default(private): 将并行区内变量的默认类型改为私有,而不是共享 省去在每一并行区结构后加private(list) default(none): 指事先指定并行区中变量的默认类型 Fortran支持default(private). C/C++ 无default(private),只有default(shared) 和default(none).;DEFAULT例(Fortran);reduction;实例:PI求解;串行程序;仅基于Parallel块结构的并行程序;基于for结构的并行化代码;OpenMP结构化块类型;OpenMP同步;critical section;atomic;;原子操作和临界区比较 ;barrier;Ordered用于指定循环中各线程执行任务的顺序严格与顺序方式时的执行顺序一致. 以制导语句,而不是子句出现的ordered,只能出现在并行区动态范围内 如:在并行区中按顺序方式打印输出:;master;single;flush;Flush(Fortran);Flush(C);隐式同步;Nesting 并行结构的嵌套;OpenMP结构化块类型;OpenMP函数;例:锁的使用;;锁:保护共享资源;;指定线程数;得到线程数;环境变量;汇总;;;;OpenMP特点总结;谢谢!

文档评论(0)

zhaoxiaoj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档