MPI编程指南 一、 MPI 概述 1.1 MPI 的发展史 MPI标准化涉及到大约60个国家的人们,他们主要来自于美国和欧洲的40个组织,这包括并行计算机的多数主要生产商,还有来自大学、政府实验室和工厂的研究者们。1992年4月,并行计算研究中心在Williamsbu rg,Virginia,召开了一个关于消息传递的标准的工作会议,会议上讨论了标准消息传递的必要的、基本的特点,并建立了工作组继续进行标准化工作。 1992年10月,MPI的初步草稿MPI1形成,MPI1主要包含的是在Williamsbu rg工作组会议上讨论的基本消息传递的接口,因为它的基本目的就是促进讨论并继续此项工作,所以它主要集中在点对点的通信。1993年1月,第一届MPI会议在Dallas举行,1993年2月MPI1修定版本公布;之后定期召开了一系列关于MPI的核心的研讨会;1993年11月MPI的草稿和概述分别发表于Su percompu ting'93和the proceedings。直到1994年5月,MPI标准正式发布。1994年7月发布了MPI标准的勘误表。 现在该工作组正在着手扩展MPI、完善MPI,从事于MPI2(MPI的扩展标准)的制定工作。 1.2 MPI 的优点 ●可移植性和易于使用。以低级消息传递程序为基础的较高级和(或)抽象程序所构成的分布存储通信环境中,标准化的效益特别明显。 ●MPI是被正式的详细说明的:它已经成为一个标准。消息传递标准的定义能提供给生产商清晰定义的程序库,以便他们能有效地实现这些库或在某些情况下为库程序提供硬件支持,因此加强了可扩展性。 ●MPI有完备的异步通信:使得send,reciev e能与计算重叠。 ●可以很有效的在MPP上或Clu ster上用MPI编程:MPI的虚拟拓扑反映了应用程序所申请的一组结点的通信模式,在MPP上实现的MPI便可以利用这种信息来优化处理器间的通信路径。 1.3 主要内容 ●点对点通信(point_to_point commu nication) ●群体操作(collectiv e operations) ●进程组(process grou ps) ●通信上下文(commu nication contex ts) ●进程拓扑结构(process topologies) ●与Fortran 77和C语言的邦定(bindings for Fortran 77 and C) ●环境的管理与查询(env ironmental management and inqu iry ) ●轮廓管理(profiling interface) 1.4 MPI 的各种实现 在国外有许多自从MPI标准制定以来在各种机器上的MPI的portable的实现,并且他们仍从事于自己的MPI实现的性能改进,其中最著名的一些见表1。 表1 国外MPI的各种实现 名称 单 位 网 址 ...