- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MPI分布内存并行程序开发文稿
MPI分布内存并行程序开发 第一章 为什麽要采用并行计算? 串行程序速度提升缓慢 可以加快速度——更短的时间内解决相同的问题;相同的时间内解决更多更复杂的问题 可以加大规模——计算更大规模的问题 并行计算设计的分类 共享内存 ccNUMA; SMP 分布式内存 MPP; Cluster 并行化分解方法 任务分解 多任务并发执行 功能分解 分解被执行的计算 区域分解 分解被执行的数据 分布内存并行方式 任务并行 不同参数的大量工况计算 区域分解并行 大规模多节点分块并行计算 第二章 MPI简介 MPI的历史 MPI初稿:美国并行计算中心工作会议(92年4月) MPI-1公布:第一届MPI大会(93年1月); MPI标准正式发布:1994年5月; MPI-2发布:MPI论坛(97年)。 第三章 MPI编程 程序1、 简单例子 程序1、 简单例子 编译,执行: mpicc -o hello hello.c:生成执行文件hello mpirun -np n hello: 加载n个进程运行,0号进程发送,1号进程接受并打印字符串 通信因子和组 MPI通过指定通信因子和组来对进程进行一种逻辑上的划分,通讯因子定义了进程组内或组间通讯的上下文(具体就是指明通讯链路的数据结构指针)。 MPI_COMM_WORLD通信因子是在MPI环境初始化过程中创建 进程号(rank) 在一个通信因子中,每个进程都有一个唯一的整数标识符,称作“进程ID”,进程号是从0开始的连续整数。 MPI的基本函数 MPI_Init MPI_Comm_size MPI_Comm_rank MPI_Send MPI_Recv MPI_Finalize MPI_Init() MPI的初始化例行函数,用于初始化MPI运行环境。 必须调用;首先调用;调用一次。 MPI_Init (*argc,*argv) 。每个进程都有一个参数表。 MPI_Comm_size() 该函数返回与该组通信因子相关的进程数,显然这里的通讯因子必须是组内通讯因子。 MPI_Comm_size (comm,*size) MPI_Comm_rank() 该函数返回该进程在指定通信因子中的进程号(0 ~ 进程数-1),一个进程在不同通信因子中的进程号可能不同: MPI_Comm_rank (comm,*rank) MPI_Send() 该函数将发送缓冲区中的count个datatype数据类型的数据发送到目的进程 MPI_Send(buf,count,datatype,dest,tag,comm) MPI_Recv() 该函数从指定的进程source接收消息,并且该消息的数据类型和消息标识和本接收进程指定的数据类型和消息标识相一致,收到的消息所包含的数据元素的个数最多不能超过count. MPI_Recv(buf,count,datatype,source,comm,status) MPI_Finalize() 结束MPI执行环境。该函数一旦被应用程序调用时,就不能调用MPI的其它例行函数(包括MPI_Init),用户必须保证在进程调用MPI_Finalize之前把与完成进程有关的所有通信结束。 MPI_Finalize () 参数说明 缓冲区(buffer) 数据个数(count) 数据类型(type) 目的地 (dest) 源 (source) 标识符(tag) 通信因子(comm) 状态(status) 缓冲区(buffer) 指应用程序定义地用于发送或接收数据的消息缓冲区。 数据个数(count) 指发送或接收指定数据类型的个数。 数据类型的长度 * 数据个数的值为用户实际传递的消息长度。 数据类型(type) MPI定义了一些缺省的数据类型,用户也可以根据需要建立自己的数据类型 目的地 (dest) 发送进程指定的接收该消息的目的进程,也就是接收进程的进程号(注意组间通讯的情况)。 源 (source) 接收进程指定的发送该消息的源进程,也就是发送进程的进程号。如果该值为MPI_ANY_SOURCE表示接收任意源进程发来的消息。 标识符(tag) 由程序员指定地为标识一个消息的唯一非负整数值(0-32767),发送操作和接收操作的标识符一定要匹配,但对于接收操作来
您可能关注的文档
- ISO90012000版简介..ppt
- ISOIEC170252005..ppt
- ITIE2012:图书馆作为社会教育中心 中国杭州.ppt
- ITINEDUCATION——课例与观点..ppt
- ISOTS16949系列培训教材之一..PPT
- IPTV行业媒体监测数据分析..ppt
- IT资格(水平)考试助推IT服务产业发展课件.ppt
- Java_线程交流..ppt
- java基础第七章..ppt
- JazzTheAmericanMusic..ppt
- 2024-2025学年贵州省遵义市求是高级中学高三下学期第二次模拟考试(语文试题文)试题含解析.doc
- 2024-2025学年广东省潮州市重点中学高三第二学期3月高考诊断性测试语文试题含解析.doc
- 2024-2025学年甘肃省陇东中学高三下学期适应性考试语文试题含解析.doc
- 2024-2025学年广东省“十二校”高三下学期期中考试(语文试题理)试题含解析.doc
- 2024-2025学年甘肃省武夷市民勤县第一中学高三下学期期末模拟卷(一)语文试题含解析.doc
- 2024-2025学年广东省深圳市龙文教育高三5月月考(语文试题理)试题含解析.doc
- 2024-2025学年贵州省铜仁一中高三第二学期期末考试语文试题试卷含解析.doc
- 2024-2025学年广州顺德区高三第一次诊断性考试语文试题试卷含解析.doc
- 2024-2025学年贵阳市高考二轮语文试题原创押题密卷(一)含解析.doc
- 2024-2025学年河北省保定市曲阳县一中高三教学质量检测试题(一模)语文试题试卷含解析.doc
文档评论(0)