[计算机软件及应用]并行计算基础知识讲座

[计算机软件及应用]并行计算基础知识讲座

ID:40005137

大小:498.00 KB

页数:72页

时间:2019-07-17

[计算机软件及应用]并行计算基础知识讲座_第1页
[计算机软件及应用]并行计算基础知识讲座_第2页
[计算机软件及应用]并行计算基础知识讲座_第3页
[计算机软件及应用]并行计算基础知识讲座_第4页
[计算机软件及应用]并行计算基础知识讲座_第5页
资源描述:

《[计算机软件及应用]并行计算基础知识讲座》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于MPI的并行程序设计王振海西北工业大学理学院西北工业大学高性能计算研究与发展中心2021/9/71MPI并行编程环境进程与消息传递MPI并行程序设计入门初步的MPI消息传递函数先进的MPI函数MPI并行程序示例面向性能的程序设计主要内容2021/9/72目前,高性能并行机主要可以分为对称多处理共享存储并行机(SMP,SymmetricMultiProcessor)、分布式共享存储多处理机(DSM,DistributiedSharedMemory)、大规模并行处理机(MPP,MassivelyParallelProcessor)和微机机群(Cluster)等四类。在这些并行机

2、上,并行程序设计平台主要可分为消息传递、共享存储和数据并行三类,其中消息传递具有很好的可移植性,它能被所有这些类型的并行机所支持,而共享存储只能在在SMP和DSM并行机中使用,数据并行只能在SMP,DSM和MPP并行机上使用。并行编程环境简介2021/9/73消息传递并行编程环境(MPI:MessagePassingInterface)是目前国际上最流行、可移植性和可扩展性很好的并行程序设计平台,并被当前流行的所有高性能并行机所支持。它是在标准串行程序设计语言(C,Fortran,C++)的基础上,再加入实现进程间通信的MPI消息传递库函数,就构成了MPI并行程序设计所依赖的并

3、行编程环境。MPI已经在Windows系列的非Unix、Linux平台上实现,其程序设计语言支持C,Fortran和Java。在国产的三大并行机系列神威、银河和曙光上也都实现了对MPI和支持。MPI并行编程环境2021/9/74MPI并行环境的应用现状MPI是全球工业、政府和科研部门联合推出的适合进程间进行标准消息传递的并行程序设计平台,最初版MPI1.0本于1994年6月推出,目前最新的为MPI2.0版,于1998年10月推出。MPI的具体实现:MPICH和LAMMPI,目前均已实现MPI1.2版,适用于任何并行计算平台;部分并行机已实现MPI2.0版。MPI是目前应用最广的

4、并行程序设计平台,几乎被所有并行计算环境(共享和分布式存储并行机、MPP、机群系统等)和流行的多进程操作系统(UNIX、WindowsNT)所支持,基于它开发的应用程序具有最佳的可移植性。2021/9/75MPI并行环境的应用现状(续)目前高效率的超大规模并行计算(1000个处理器)最可信赖的平台。工业、科学与工程计算部门的大量科研和工程软件(气象、石油、地震、空气动力学、核等)目前已经移植到MPI平台,发挥了重要作用。MPI的优点:(1)具有很好的可移植性,几乎被所有的并行环境支持;(2)具有很好的可扩展性,是目前高效率的大规模并行计算最可信赖的平台;(3)比其它消息传递系统

5、好用;(4)有完备的异步通信功能;(5)有精确的定义,从而为并行软件产业的发展提供了必要的条件。2021/9/76MPI并行环境的应用现状(续)MPI2.0版在1.0版的基础上,增加了如下的消息传递功能:(1)并行I/O:允许多个进程同时读写同一个文件;(2)线程安全:允许MPI进程的多个线程执行,即支持与OpenMP的混合并行编程;(3)动态进程管理:允许并行应用程序在执行过程中,动态地增加和删除进程个数;(4)单边通信:允许某个进程对其它进程的局部内存单元直接执行读写访问,而步需要对方进程的显式干预;(5)并行应用程序之间的动态互操作:允许各个MPI并行应用程序之间动态地建

6、立和删除消息传递通道。目前,各类并行机,特别式微机机群,只实现了MPI2.0的部分功能。本中心机群所支持的为MPI1.2.5版本。2021/9/77MPI并行编程环境进程与消息传递MPI并行程序设计入门初步的MPI消息传递函数先进的MPI函数MPI并行程序示例面向性能的程序设计2021/9/78单个进程(process)进程是一个程序,同时包含它的执行环境(内存、寄存器、程序计数器等),是操作系统中独立存在的可执行的基本程序单位。通俗理解:串行应用程序编译形成的可执行代码,分为“指令”和“数据”两个部分,并在程序执行时“独立地申请和占有”内存空间,且所有计算均局限于该内存空间。

7、进程1内存进程22021/9/79单机内多个进程多个进程可以同时存在于单机内同一操作系统:由操作系统负责调度分时共享处理机资源(CPU、内存、存储、外设等)。进程间相互独立(内存空间不相交):在操作系统调度下各自独立地运行,例如多个串行应用程序在同一台计算机中运行。进程间可以相互交换信息:例如数据交换、同步等待,消息是这些交换信息的基本单位,消息传递是指这些信息在进程间的相互交换,是实现进程间通信的唯一方式。2021/9/710最基本的消息传递操作:发送消息(send)、接受消息(recei

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。