MPI编程技术总结.docVIP

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MPI并行编程介绍 MPI产生背景 近几十年来,大规模和超大规模的并行机取得了快速发展,由于各种原因,开发商对用户提供的必要支持,如它们各自专有的消息传递包NX、EUI、PVM等,虽然在特定平台上具有很优越的性能,但是从应用程序来看,可移植性差。1992年l1月,在Super Computing’92会议上,正式成立了一个旨在建立一个消息传递标准平台的MPI(Message Passing Interface)论坛,该论坛不仅包括了许多PVM、Express等的研制者及并行程序用户,还吸收了许多著名计算机厂商的代表。论坛于1994年5月,公布了MPI标准。MPI是一种为消息传递而开发的广泛使用的标准,它为消息传递建立了一个可移植的、高效、灵活的标准。 MPICH 是由美国国家实验室(Argonne National Laboratory)和密西西比州大学(Mississippi State University)基于MPI标准开发的一个开放源码和可移植的具体实现。MPICH可应用于工作站集群和大规模并行处理器,它包含MPI-1.2标准的完整实现和MPI-2.0标准中的重要部分,特别是在并行I/O方面表现的尤为突出。 MPI的原理与特征 MPI是一个函数库,而不是一门语言,它是一种消息传递模型,它的最终目的是服务于进程间通信。MPI作为一个并行程序库的开发平台,为用户编写和运行程序提供了便利的条件。由于MPI是基于消息传递机制构建的系统,因此它在体系结构为分布存储的并行机中有很宽阔的应用空间,它可以应用在各种同构和异构的网络平台中。它的编程语言可以为Fortran77/90、C/C++。在Fortran77/90、C/C++语言中都可以对MPI的函数进行调用,它作为一种消息传递模式的并行编程环境,MPI并行程序要求将任务进行划分,同时启动多个进程并发的执行,而各个进程之间通过MPI的库函数来实现其中的消息传递。MPI与其它并行编程环境相比,显著的特点有: (1)可移植性强,能同时支持同构和异构的并行计算; (2)可伸缩性强,允许并行结构中的节点任意增加或减少; (3)能很好的支持点对点通信和集体通信方式; (4)对C语言和Fortran语言的支持,使其能很好的满足各种大规模科学和工程计算的需要。 这样,以MPI作为公共消息传递接口的并行应用程序就可以不作任何改动的移植到不同种类和型号的并行机上,也能够正常运行,或者移到网络环境中也一样。 MPI程序的设计与执行 一个MPI并行程序由若干个进程组成,这些进程可相同也可不同,但是每个进程在执行前必须在MPI环境中登记,并且要求它们一起启动。在构成MPI程序的任何主程序和于程序中,只要调用了MPI库函数,程序就必须包含MPI系统文件 “mpif.h”,这个文件包含了MPI程序编译所必需的MPI系统预先定义的常数、宏、数据类型和函数类型。下图1给出了用C语言设计并行MPI程序的流程图。MPI程序的执行步骤一般为: (1)编译得到MPI可执行程序; (2)将可执行程序拷贝到各个节点机上; (3)通过mpirun命令并行执行该MPI程序。 结语 MPI的一个最重要的特点就是免费和源代码开放,MPI可以被迅速接受与它为自己定下的高效率、方便移植和功能强大三个主要目标密不可分,它采用广为使用的语言FORTRAN和C进行绑定也是它成功的一个重要因素。当然MPI的成功还因为它总结和吸收了前期大量消息传递系统的经验,一个成功的标准是需要大量的实践和艰苦的努力的,MPI就是这种实践和努力的结果。MPICH 是MPI1.2 标准的一个完全实现,也是应用范围最广的一种并行及分布式环境MPICH除包含MPI函数库之外,还包含了一套程序设计以及运行环境。

文档评论(0)

yyh892289 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档