FEPG高性能计算(基础知识篇).ppt

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

Linux Cluster搭建 文件文件名中列出希望使用的节点机名,一行一个。Mpirun将在给定的节点机上启动指定数目的进程数,形式如下: host1 host2:4 host3:2 host4:1 MPI并行编程 MPI并行编程是基于消息传递的编程模式 MPI并行程序由一组独立运行的进程构成,进程间通过相互发送消息来实现数据交换 消息传递并行编程是并行应用程序开发的最底层编程方式之一,很多其他并行开发语言或工具(如一些HPF编译器)都将程序转化成消息传递型并行程序来实现并行 程序通用性好,用MPI编写的程序可以在任何并行机上运行 能够达到很高的并行效率,具有很好的可扩展性 缺点:程序的编制与调试比较困难,许多情况下要对程序甚至算法做大的改动 一些名词和概念 进程(Process)一个MPI并行程序由一组运行在相同或不同计算机/计算节点上的进程或线程构成,为统一起见,我们将MPI程序中一个独立参与通信的个体称为一个进程。 进程组(Process group)指一个MPI程序的全部进程集合的一个有序子集。进程组中每个进程被赋予一个在该组中唯一的序号(rank),用于在该组中标识该进程。序号的取值范围是0到进程数-1 通信器(communicator)通信器(也有译成通信子的)是完成进程间通信的基本环境,它描述了一组可以互相通信的进程以及他们之间的联接关系等信息。MPI系统在一个MPI程序运行时会自动创建两个通信器,一个称为MPI_COMM_WORLD,它包含该MPI程序中的所有进程号,另一个称为MPI_COMM_SELF,它指单个进程自己所构成的通信器 一些名词和概念 序号(rank)序号用来在一个进程组或通信器中标识一个进程。MPI程序中的进程由进程组/序号或通信器/序号所唯一确定。MPI系统提供一个特殊的进程序号MPI_PROC_NULL,它代表空进程(不存在的进程)。与MPI_PROC_NULL间的通信实际上没有任何作用。 消息(message)MPI程序中在进程间传送的数据称为消息。一个消息有通信器、源地址、目的地址、消息标签和数据构成。 通信(communication)通常指在进程之间进行消息的收发、同步等操作 并行编程模式 两种最重要的并行编程模型: A:数据并行 B:消息传递 数据并行编程模型的编程级别比较高,编程相对简单,但仅适用于数据并行问题;将相同的操作同时作用于不同的数据,因此适合在SIMD及SPMD并行计算机上运行。 消息传递编程模型的编程级别相对较低,但消息传递编程模型可以有更广泛的应用范围。各个并行执行的部分之间通过传递消息来交换信息、协调步伐、控制执行。消息传递一般是面向分布式内存的,但是它也可适用于共享内存的并行机。 并行编程模式 并行编程模式 SPMD编程模式(Single Program Multiple Data),指构成一个程序的所有进程运行的是同一份可执行代码,不同进程根据自己的序号可能执行该代码中的不同分支。这是MPI编程中最常用的编程方式。用户只需编写、维护一份源代码。 MPMD编程模式(Multiple Program Multiple Data),指构成一个程序的不同进程运行不同的可执行代码,用户需要编写、维护多份源代码。 主/从编程模式(Master/Slave)。他是MPMD编程模式的一个特例,也是MPMD编程模式中最常见的方式。构成一个程序的进程之一负责所有进程间的协调及任务调度,该进程称为主进程(Master),其余进程称为从进程(Slave),通常用户需要维护两份源代码。 MPI并行程序设计 什么是MPI 1:MPI是一个库,而不是一门语言。 2:MPI是一种标准或规范的代表,而不特指某一个对它的具体实现。 3:MPI是一种消息传递编程模型,并成为这种编程模型的代表和事实上的标准。MPI虽然很庞大,但是它最终目的是服务于进程间通信这一目的的。 MPI提供了一种与语言和平台无关,可以被广泛使用的编写消息传递程序的标准,用它来编写消息传递程序,不仅实用、可移植、高效和灵活,而且和当前已有的实现没有太大的变化。 MPI并行程序设计 目前主要的MPI实现 1:MPICH是一种最重要的实现,它可以免费从/mpi/mpich取得。Argonne国家实验室和MSU对MPICH做出了重要的贡献。 2:CHIMP是Ednburgh开发的另一个免费MPI实现,是在EPCC(Edinburgh Parallel Computing Centre)的支持下进行的,从ftp://ftp.epcc.ed.ac.uk/pub/packages/chimp/release/可以免费下载该软件。 3:LAM(Local Area Multicomputer),由Oh

文档评论(0)

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

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

1亿VIP精品文档

相关文档