1.并行计算的概念 mpi

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

并行计算概念

什么是MPI

1.MPI是一个库而不是一门语言

2.MPI是一种标准或规范的代表而不特指某一个对它的具体实现

3.MPI是一种消息传递编程模型并成为这种编程模型的代表和事实上的标准

并行计算机分类--fly分类法

1.SISD:传统的单处理机系统。由程序生成的一个单指令流,在任意时

刻处理单独的数据项。

2.SIMD:由一个控制器负责从存储器中取出指令并将这些指令发送给

各个处理器,每个处理器同时执行相同的指令,但操作不同的数据。

3.MISD:相当于在指令一级并行,而在被操作的数据级串行的情况,

实际上这种模型是不能实现的。

4.MIMD:当今绝大多数并行计算机都属于这一类。每个处理器拥有一

个单独的程序(段),每个程序(段)为每一个处理器生成一个指令流,每条指令对不同的数据进行操作。

并行编程模型分类

并行程序分解模式

mpi启动编译运行命令启动MPI环境:mpd

编译(mpicc -o xxx xxx.c)

运行(mpirun -np 8 xxx)

MPI消息传递三元组

定义成数组,缓冲区内放的是什么数据,需要定义数据类型,数量

MPI的消息类型分为两种:预定义类型和派生数据类型(Derived Data Type)

预定义数据类型:MPI支持异构计算(Heterogeneous Computing),它指在不同计算机系统上运行程序,每台计算可能有不同生产厂商,不同操作系统。

派生数据类型:MPI引入派生数据类型来定义由数据类型不同且地址空间不连续的数据项组成的消息。

MPI消息包括信封和数据两个部分,信封指出了发送或接收消息的对象及相关信息,而数据是本消息将要传递的内容。

信封和数据又分别包括三个部分。可以用一个三元组来表示。

三元组:<缓冲区,数量,数据类型>

信封:<源/目,标识,通信域>

数据:<起始地址,数据个数,数据类型>

MPI环境定义了三种缓冲区:应用缓冲区,系统缓冲区,用户想系统注册的(通信用)缓冲区。

通信域

通信域(Communicator)包括进程组(Process Group)和通信上下文(Communication Context)等内容,用于描述通信进程间的通信关系。

通信域分为组内通信域和组间通信域,分别用来实现MPI的组内通信(Intra-communication)和组间通信(Inter-communication)。

MPI程序分成几个部分

相关文档
最新文档