下载此文档

消息传递编程接口MPI.ppt


文档分类:IT计算机 | 页数:约40页 举报非法文档有奖
1/40
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/40 下载此文档
文档列表 文档介绍
第四讲 消息传递编程接口 MPI
一、 MPI 编程基础
主要内容
MPI 程序基本结构
MPI 编程基础
MPI 安装、程序编译与运行
MPI 数据类型
消息发送和接收
MPI 一些常用函数
MPI 介绍
Message Passing Interface
消息传递编程标准,目前最为通用的并行编程方式
提供一个高效、可扩展、统一的并行编程环境
MPI 是一个库,不是一门语言,MPI 提供库函数/过程供 C/FORTRAN 调用
MPI 是一种标准或规范的代表而不特指某一个对它的具体实现。迄今为止所有的并行计算机制造商都提供对MPI 的支持
MPI 是一种消息传递编程模型,最终目的是服务于进程间通信这一目标
MPI 介绍
MPI :MPICH
MPI :MPICH2
MPI 的实现——免费版本
1994 年公布 MPI 标准,1998 年公布 标准
MPI 的目标
较高的通信性能;
较好的程序可移植性;
强大的功能
MPI 商业版本
一些厂商也提供商业版的 MPI 系统,许多是在 MPICH 的基础上优化产生的
MPI 下载与安装
MPICH 下载
/
MPICH 的安装
参考 MPICH Install Guide
MPICH 的使用
参考 MPICH User Guide
MPI 编程基本概念
MPI 进程
MPI 程序中一个独立参与通信的个体
MPI 进程组
MPI 程序中由部分或全部进程构成的有序集合
每个进程都被赋予一个所在进程组中唯一的序号(rank),用于在该组中标识该进程,称为进程号,取值从 0 开始
MPI 进程与通信器
MPI 通信器/municator)
MPI 程序中进程间的通信必须通过通信器进行
通信器分为域内通信器(同一进程组内的通信)和域间通信器(不同进程组的进程间的通信)
MPI 程序中,一个 MPI 进程 由一个进程组和在该组中的进程号唯一确定;或 由一个通信器和在该通信器中的进程号唯一确定
进程号是相对进程组或通信器而言的,同一进程在不 同的进程组或通信器中可以有不同的进程号
MPI 程序启动时自动建立两个通信器: M_WORLD :包含程序中所有 MPI 进程 M_SELF :有单个进程独自构成,仅包含自己
MPI 消息
进程号是在进程组或通信器被创建时赋予的
空进程:MPI_PROC_NULL
与空进程通信时不做任何操作
消息(message)
一个消息指进程间进行的一次数据交换
一个消息由通信器、源地址、目的地址、消息标签、 和数据构成
第一个 MPI Fortran 程序
program main
include ''
character * (MPI_MAX_PROCESSOR_NAME) proc_name
integer myid, numprocs, namelen, rc, ierr
call MPI_INIT( ierr )
call M_RANK( M_WORLD, myid, ierr )
call M_SIZE( M_WORLD, numprocs, ierr )
call MPI_GET_PROCESSOR_NAME(proc_name, namelen, ierr)
write(*,10) myid, numprocs, proc_name
10 FORMAT('Hello, I am Proc. ',I2,' of ',I1,' on ', 20A)

call MPI_FINALIZE(ierr)
end
是MPI相对于FORTRAN的头文件
MPI 程序分析
所有包含 MPI 调用的程序必须包含 MPI 头文件
MPI_MAX_PROCESSOR_NAME 是 MPI 预定义的宏, 即 MPI 所允许的机器名字的最大长度
MPI 程序的开始和结束必须是 MPI_INIT 和 MPI_FINALIZE,分别完成 MPI 的初始化和结束工作
M_RANK 得到本进程的进程号
M_SIZE 得到所有参加运算的进程的个数
MPI_GET_PROCESSOR_NAME 得到运行本进程所在的 结点的主机名
进程号取值范围为 0, …, np-1

消息传递编程接口MPI 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数40
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小玉儿
  • 文件大小0 KB
  • 时间2013-12-09
最近更新