欢迎来到天天文库
浏览记录
ID:36895649
大小:1.64 MB
页数:59页
时间:2019-05-10
《《并行程序设计H》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章消息传递程序设计MPI刘轶北京航空航天大学计算机学院从程序员视角看,并行体系结构主要分为两类:共享存储(shared-memory)系统典型平台:-基于多核处理器的计算机-SMP及NUMA体系结构计算机②消息传递(message-passing)系统-机群系统本章内容几种主流的并行编程接口PthreadsOpenMPMPI编程模型线程共享内存消息传递面向系统结构共享内存共享内存分布式内存或共享内存通信模型共享内存地址共享内存地址消息传递或共享内存地址并行粒度粗或细细粗或细同步显式隐式隐式或显式实现方式程序库编译器程序库本章内容3.1MP
2、I并行环境简介3.2点到点通信3.3组和通信子3.4集合通信3.5MPI与多线程3.1MPI并行环境简介3.1MPI并行环境简介一、简介MPI---MessagePassingInterface面向消息传递型并行系统的编程接口主要面向机群系统(cluster)MPI之前曾广泛使用另一种编程接口PVMMPI于1994年发布,目前为v2版经过多年技术发展,已显露出诸多不足之处,但在没有更理想编程模型和语言的情况下,MPI仍是应用最为广泛的消息传递型编程接口标准不同厂商和研究机构推出了多个版本,主要有:MPICH√http://www.mpich.
3、orgLAMMPIIBMMPLMPI支持C/C++、Fortran语言编程3.1MPI并行环境简介MPI的并行模式:SPMD(SingleProgramMultipleData)所有节点运行相同的程序不同的节点处理不同的数据每个节点运行一个或多个MPI进程,进程间通过发送/接收消息进行通信和同步注意:多个并行进程间无法共享变量,只能通过消息进行交互3.1MPI并行环境简介二、MPI基本环境MPI进程的创建、启动和管理通过进程管理器(PM--ProcessManager)完成进程管理器就是MPI环境与操作系统的接口常用的进程管理器MPDMPD是
4、MPI环境的守护进程(daemon),MPI其他工具通过与MPD通信实现其功能MPD由python实现的一组工具构成意味着系统中需安装python解释器由mpdboot完成MPD在多个主机上的启动,以形成MPI运行环境启动之前需配置各节点间的无密码登录3.1MPI并行环境简介二、MPI基本环境MPD命令命令说明mpd启动MPD守护进程mpdtrace打印MPI运行时环境内所有MPD守护进程的信息mpdboot启动一组MPD进程mpdringtest测试消息在环境环行一周的时间mpdallexit停止运行时环境的所有进程mpdcleanup运行
5、时环境崩溃情况下,可用该命令清除本地的Unixsocketmpdlistjobs列出作业的进程信息mpdkilljob停止某个作业的所有进程mpdsigjob对某个作业的所有进程发信号mpiexec启动一个作业(早期MPI版本使用mpirun命令)3.1MPI并行环境简介二、MPI基本环境MPI环境的安装过程示例下载MPI源代码包并解压缩配置mpi编译并安装(确认)安装python用vi修改.bash_profile文件3.1MPI并行环境简介二、MPI基本环境MPI环境的安装过程示例将MPI路径添加到环境变量PATH修改用户配置文件.bas
6、h_profile修改后的.bash_profile文件内容路径信息已添加3.1MPI并行环境简介二、MPI基本环境MPI环境的安装过程示例配置节点间SSH无口令登录(注:SSH–SecureSHell)创建公钥/私钥对文件创建后的文件将公钥文件拷贝到其他节点的.ssh目录中的authorized_keys文件host1host2的SSH无口令登录3.1MPI并行环境简介二、MPI基本环境MPI环境的安装过程示例节点名添加到mpd_hosts文件,构成ring启动并测试MPI环境/etc/hosts文件中存储主机名称与IP地址的映射表~/m
7、pd.hosts文件中存储MPI节点列表为保证节点间通信正常和性能,需关闭Linux防火墙3.1MPI并行环境简介二、MPI基本环境MPI程序编译MPI提供编译脚本:mpiCC/mpicc/mpif77/mpif90mpiCC---C++程序编译及链接mpicc---C程序编译及链接mpif77和mpif90---Fortran77和Fortran90程序编译及链接关于编译输出可执行文件的位置要求各节点都可以访问该文件(注意各节点都将执行该程序)方法一:编译后手工将文件拷贝到各节点例:$scpcpihost2:/home/test方法二:配置
8、NFS共享目录,各节点启动时将共享目录mount到本机文件系统中,编译输出的可执行文件直接存入该目录3.1MPI并行环境简介二、MPI基本环境MPI程序的运行使用m
此文档下载收益归作者所有