DCS11(并行计算MPI).pdf

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DCS11(并行计算MPI)

MPI 并行程序设计 MPI 及其历史 • 消息传递接口(Message Passing Interface ,简称MPI )是一个编程接口标准 • 定义了一组可移植的编程接口 • 不是一种具体的编程语言 • 1994 年发布第一个版本MPI- 1 (MPI v1.0 ) • 1997 年发布第二个版本MPI-2 (MPI v2.0 ) • 典型的 MPI 软件包 – MPICH、LAM MPI 以及INTEL MPI MPICH • MPICH 是影响最大、用户最多的MPI 实现 • 由美国的Argonne 国家实验室开发 • MPICH 的特点: – 开放源码; – 与MPI 标准同步发展; – 支持多程序多数据(MPMD )编程和异构集群系统; – 支持C/C++ 、Fortran 77 和Fortran 90 的绑定支持类Unix 和Windows NT 平台; – 支持环境非常广泛,包括多核、SMP、集群和大规模并行计算系统  单个进程(process ) 进程是一个程序,同时包含它的执行环境(内存、寄存器、程序计数器等),是操作 系统中独立存在的可执行的基本程序单位。 通俗理解:串行应用程序编译形成的可执行代码,分为“指令”和“数据”两个部 分,并在程序执行时“独立地申请和占有”内存空间,且所有计算均局限于该内存空间。  单机内多个进程  多个进程可以同时存在于单机内同一操作系统:由操作系统负责调度分时共享处 理机资源(CPU、内存、存储、外设等)。  进程间相互独立 (内存空间不相交):在操作系统调度下各自独立地运行,例如 多个串行应用程序在同一台计算机中运行。  进程间可以相互交换信息:例如数据交换、同步等待,消息是这些交换信息的基 本单位,消息传递是指这些信息在进程间的相互交换,是实现进程间通信的唯一 方式。  最基本的消息传递操作:发送消息(send )、接受消息(receive )、进程同步(barrier )、 规约(reduction )。  消息传递的实现:共享内存或信号量,用户不必关心。 1  包含于通过网络联接的不同计算机的多个进程  进程独立存在:进程位于不同的计算机,由各自独立的操作系统调度,享有独立 的CPU 和内存资源。  进程间相互信息交换:消息传递。  消息传递的实现:基于网络socket 机制,用户不必关心。 2 基于消息传递的并行程序执行模式 • 基于消息传递的并行程序可以划分: – 单程序多数据(SPMD),如图。 – 多程序多数据(MPMD ),除初始启动多个可执行代码,其余与SPMD 模式一致。 3 MPI-2 有287 个调用接口,基本函数有: 1.MPI 初始化 int MPI_Init(int *argc, char ***argv) 2 .MPI 结束 int MPI_Finalize(void) 3 .获取当期进程标识 int MPI_Comm_rank(MPI_Comm comm, int *rank) 4 .获取通信域包含的进程总数 int MPI_Comm_size(MPI_Comm comm, int *size) 5 .计时 double MPI_Wtime(void) MPI_WTIME返回一个用浮点数表示的秒数,它表示从过去某一时刻到调用时刻 所经历的时间。 6 .获取机器的名字 int MPI_Get_processor_name ( char *name, int *resultlen) 7 .异常终止MPI程序的执行 int MPI_Abort(

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档