7、MPI分布内存及并行程序开发.ppt.ppt

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

MPI分布内存并行 程序开发;一般的MPI程序设计流程图 ;4个MPI基本指令; 点对点通信函数 ;阻塞通信与非阻塞通信   ;非阻塞发送;阻塞通信正确返回后,其后果是: - 该调用要求的通信操作已正确完成 - 该调用的缓冲区可用 消息信封要匹配 接收到的消息是最早发送的 非阻塞通信主要用于计算和通信的重叠,从而提高整个程序执行的效率。;; 请求(request);通讯模式(4种):;标准(standard)模式:对数据的缓冲由具体MPI实现决定,与用户程序无关; 发送操作的正确返回而不要求接收操作收到发送的数据。 ;缓冲区(buffered)模式:用户定义,使用和回收缓冲区,不管接收操作是否启动,发送操作都可以执行,但是必须保证缓冲区可用。 ;同步(synchronous)模式:开始不依赖于接收进程相应的操作是否启动,但必须等到接受开始启动发送才可以返回 ;就绪(ready)模式:只有当接收操作已经启动时,才可以在发送进程启动发送操作,否则发送将出错。 ; 例、死锁的发送接收序列;进程 0; 例、不安全的发送接收序列;进程 0; 程序、安全的发送接收序列;进程 0; 例 循环-死锁; 改进:; 集合通信函数;集合操作的三种类型: 同步(barrier):集合中所有进程都到达后,每个进程再接着运行; 数据传递:广播(broadcast)、分散(scatter)、收集(gather)、全部到全部(alltoall); 规约(reduction):集合中的其中一个进程收集所有进程的数据并计算(如:求最大值、求最小值、加、乘等); ; 集合通信函数; MPI_Barrier(); 程序、同步示例; /*Make data table */ table =(int *)calloc(size,sizeof(int)); table[rank]=rank+1; /*准备要广播的数据*/ MPI_Barrier (MPI_COMM_WORLD); /*将数据广播出去*/ for (i=0;isize,i++) MPI_Bcast( table[i],1,MPI_INT,i,MPI_COMM_WORLD); /*检查接收到的数据的正确性*/ for (i=0;isize,i++) if (table[i]!=i+1) errors++; MPI_Barrier(MPI_COMM_WORLD); /*检查完毕后执行一次同步*/ …… /*其他的计算*/ MPI_Finalize(); }; MPI_Bcast();30; 程序、广播程序示例; do{ if (rank==0) /*进程0读入需要广播的数据*/ scanf(“%d”,value); /*将该数据广播出去*/ MPI_Bcast(value,1,MPI_INT,0,MPI_COMM_WORLD); /*各进程打印收到的数据*/ printf(“Process %d got %d \n”,rank,value); }while(value=0); MPI_Finalize(); return 0; } ; MPI_Scatter();34;MPI_Gather(); ; MPI_Reduce();38; 程序、规约示例 ; MPI_Init(argc,argv); MPI_Comm_size(MPI_COMM_WORLD,numprocs); MPI_Comm_rank(MPI_COMM_WORLD,myid); MPI_Get_processor_name(processor_name,namelen); fprint(stdout,”Process %d of %d on % s\n”,myid,numprocs, processor_name); n=0; if (myid==0) { printf(“Please give N=”);

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档