消息传递模型(伪代码表示).pptx

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

第四讲MPI并行程序设计主讲教师: 赵长海办公室: 新主楼G910Email: zch@Spring2013课程网站:CourseGradinghttp://judge.

4.1认识MPI本章内容4.2MPI编程基础4.3MPI的集合通信4.4MPI与pthread混合编程

4.1认识MPI一.什么是MPI MessagePassingInterface,消息传递接口。是很多公司和组织共同制定的标准,用于进程间通信。是集群系统最流行的编程模型。有名的免费实现有:MPICH、LAM/MPI。MPI用于分布式共享内存编程

二.为什么用MPI更多计算节点如何扩展硬件计算能力?更多CPU(核)MPI提供了计算节点的进程间通信机制

一个典型的高性能计算集群配置所有计算节点通过交换机互联;所有计算节点都通过I/O节点(作为NFSServer)访问一个或者多个磁盘阵列;所有的计算节点共享磁盘阵列存储空间I/O节点节点间配置rsh和ssh无密码登录用户目录挂载到共享盘上,所有计算节点可以看到同样的用户目录

Google,yahoo等数据中心的典型网络配置几千到几万个节点

Messagepassingmodel三.消息通信模型通过网络传递数据(消息);send和receive必须配对使用;send和receive分阻塞和非阻塞;消息传递特点:

Process1(P1) Process2(P2)compute; compute;send(P2,info); compute;compute; Receive(P1,info);idle; compute;idle; Send(P1,reply);receive(P2,reply);SynchronizeCommunicateWaiting消息传递模型(伪代码表示)两个进程间互相通信

4.2MPI编程基础例Helloworld(1)#includestdio.h#include“mpi.h”intmain(intargc,char*argv[]){MPI_Init(argc,argv);printf(Hello,world!\n);MPI_Finalize(); return0;}头文件初始化结束

#include“mpi.h”intMPI_Init(int*argc,char**argv);MPI初始化MPI_INIT必须在其它MPI函数之前调用,它完成MPI程序所有的初始化工作main函数必须带参数运行,否则出错

#include“mpi.h”intMPI_Finalize();MPI结束MPI_FINALIZE是MPI程序的最后一个调用标志并行代码的结束,结束除主进程外其它进程

十一月24MPI并行程序设计12/217MPI程序的的编译与运行编译mpicc–ohelloworld1helloworld1.c生成helloworld1可执行代码运行基本执行命令:mpiexec–n5./helloworld1在指定的节点上运行:mpiexec-machinefilehostfile-n5./helloworld1启动的进程数量可执行文件的绝对或者相对路径在hostfile文件列出的节点上启动进程hostfile格式:#主机名:该节点上最多允许启动的进程数hostahostb:2

十一月24MPI并行程序设计13/217运行MPI注意事项1.首先确认mpd守护进程已经启动,如果没有启动,在终端执行:mpd最新版本MPICH不再使用mpd进程管理器:/research/projects/mpich2/【配置过程中,注意在/etc/hosts里面配置机器名和IP的对应关系】2.错误的命令:./helloworld1 (?)mpiexec–n4helloworld1 (?,除非该可执行文件路径在PATH或者通过-path执行搜索路径)演示:helloworld13.正确的命令:mpiexec–n4./helloworld1 mpiexec–n4~/PP/lecture04/helloworld1

十一月24MPI并行程序设计14/217SPMD:SingleProgramMultipleData(SPMD)MPMD:MultipleProgramMultipleData(MPMD)::::#includempi.h#includestdio.hmain(inta

文档评论(0)

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

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

1亿VIP精品文档

相关文档