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

中科大多核并行计算课件1664555.ppt

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

多核并行计算 Multicore Parallel Computing 主讲人 徐 云 第十四章 分布存储系统并行编程 分布存储系统并行编程 14.1 基于消息传递的编程 14.2 MPI并行编程 14.3 PVM并行编程 14.4 基于数据并行的并行编程 14.5 HPF并行编程 分布存储系统并行编程 14.1 基于消息传递的编程 14.2 MPI并行编程 14.3 PVM并行编程 14.4 基于数据并行的并行编程 14.5 HPF并行编程 14.2 MPI并行编程 1 六个基本函数组成的MPI子集 2 MPI消息 3 点对点通信 4 群集通信 5 MPI扩展 6 计算Pi的MPI程序 7 更多的例子 8 小结 1 六个基本函数组成的MPI子集 #include mpi.h /*MPI头函数,提供了MPI函数和数据类型定义*/ int main( int argc, char** argv ) { int rank, size, tag=1; int senddata,recvdata; MPI_Status status; MPI_Init(argc, argv); /*MPI的初始化函数*/ MPI_Comm_rank(MPI_COMM_WORLD, rank); /*该进程编号*/ MPI_Comm_size(MPI_COMM_WORLD, size); /*总进程数目*/ 1 六个基本函数组成的MPI子集 if (rank==0){ senddata=9999; MPI_Send( senddata, 1, MPI_INT, 1, tag, MPI_COMM_WORLD); /*发送数据到进程1*/ } if (rank==1) MPI_Recv(recvdata, 1, MPI_INT, 0, tag, MPI_COMM_WORLD, status); /*从进程0接收数据*/ MPI_Finalize(); /*MPI的结束函数*/ return (0); } 1 六个基本函数组成的MPI子集 MPI初始化:通过MPI_Init函数进入MPI环境并完成所有的初始化工作。 int MPI_Init( int *argc, char * * * argv ) MPI结束:通过MPI_Finalize函数从MPI环境中退出。 int MPI_Finalize(void) 1 六个基本函数组成的MPI子集 获取进程的编号:调用MPI_Comm_rank函数获得当前进程在指定通信域中的编号,将自身与其他程序区分。 int MPI_Comm_rank(MPI_Comm comm, int *rank) 获取指定通信域的进程数:调用MPI_Comm_size函数获取指定通信域的进程个数,确定自身完成任务比例。 int MPI_Comm_size(MPI_Comm comm, int *size) 1 六个基本函数组成的MPI子集 消息发送:MPI_Send函数用于发送一个消息到目标进程。 int MPI_Send(void *buf, int count, MPI_Datatype dataytpe, int dest, int tag, MPI_Comm comm) 消息接受:MPI_Recv函数用于从指定进程接收一个消息 int MPI_Recv(void *buf, int count, MPI_Datatype datatyepe,int source, int tag, MPI_Comm comm, MPI_Status *status) 14.2 MPI并行编程 1 六个基本函数组成的MPI子集 2 MPI消息 3 点对点通信 4 群集通信 5 MPI扩展 6 计算Pi的MPI程序 7 更多的例子 8 小结 2 MPI消息 一个消息好比一封信 消息的内容即信的内容,在MPI中称为消息缓冲(Message Buffer) 消息的接收/发送者即信的地址,在MPI中称为消息信封(Message Envelop) 2 MPI消息 MPI中,消息缓冲由三元组起始地址,数据个数,数据类型标识 消息信封由三元组源/目标进程,消息标签,通信域标识 三元组的方式使得MPI可以表达更为丰富的信息,功能更强大 2 MPI消息 MPI的消息类型分为两种:预定义类型和派生数据类型(Derived Data Type) 预定义数据类型:MPI支持异构计算(Heterogeneous Computing),它指在不同计算机系统上运行程序,每台计算可能有不同生产厂商,不同操作系统。 MPI通过提供预定义数据类型来解决异构计算中的互操作性问题,建立它与具体语言的对应关系。 派生数据类型:MP

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档