欢迎来到天天文库
浏览记录
ID:18424672
大小:160.50 KB
页数:34页
时间:2018-09-17
《国家973项目高性能计算环境支持讲座》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、国家973项目高性能计算环境支持讲座MPI与PETSc日期内容8.15上午进程与消息传递、MPI应用现状、MPI并行程序设计入门、初步的MPI消息传递函数下午作业一、讨论8.16上午作业一讲评、先进的MPI函数、并行程序示例2、MPI的发展下午作业二、讨论8.17上午作业二讲评、并行可扩展科学计算工具箱PETSc介绍下午PETSc程序示例34个人介绍莫则尧,男,汉族,1971年7月生,副研究员:l1992年国防科技大学应用数学专业本科毕业;l1997年国防科技大学计算机应用专业并行算法方向博士毕业;l1999年北京应用物理与计算数学数学博士后流动站出站,并留所工作;l主要
2、从事大规模科学与工程并行计算研究。34消息传递并行编程环境MPI一、进程与消息传递二、MPI环境的应用现状三、MPI并行程序设计入门(程序例1)四、初步的MPI消息传递函数五、作业一六、先进的MPI函数七、MPI并行程序示例2(求解-Du=f);八、MPI环境的发展九、作业二34一、进程与消息传递1.单个进程(process)l进程是一个程序,同时包含它的执行环境(内存、寄存器、程序计数器等),是操作系统中独立存在的可执行的基本程序单位;l通俗理解:串行应用程序编译形成的可执行代码,分为“指令”和“数据”两个部分,并在程序执行时“独立地申请和占有”内存空间,且所有计算均局
3、限于该内存空间。进程1进程2内存2.单机内多个进程:l多个进程可以同时存在于单机内同一操作系统:由操作系统负责调度分时共享处理机资源(CPU、内存、存储、外设等);l进程间相互独立(内存空间不相交):在操作系统调度下各自独立地运行,例如多个串行应用程序在同一台计算机中运行;l进程间可以相互交换信息:例如数据交换、同步等待,消息是这些交换信息的基本单位,消息传递34是指这些信息在进程间的相互交换,是实现进程间通信的唯一方式;l最基本的消息传递操作:发送消息(send)、接受消息(receive)、进程同步(barrier)、规约(reduction);l消息传递的实现:共享
4、内存或信号量,用户不必关心;进程1进程2发送数据接收数据(消息传递)内存空间3.包含于通过网络联接的不同计算机的多个进程:l进程独立存在:进程位于不同的计算机,由各自独立的操作系统调度,享有独立的CPU和内存资源;l进程间相互信息交换:消息传递;l消息传递的实现:基于网络socket机制,用户不必关心;4.消息传递库函数:l应用程序接口34(API):提供给应用程序(FORTRAN、C、C++语言)的可直接调用的完成进程间消息传递的某项特定功能的函数;l消息传递库:所有定义的消息传递函数编译形成的软件库,调用其内部函数的应用程序,通过与之联接,即可成为可并行执行的程序;l
5、目前流行的消息传递函数库:PVM3.3.11、MPICH1.2、LAMMPI6.4等;5.标准消息传递界面(MPI:MessagePassingInterface):lMPI标准:根据应用程序对消息传递功能的需求,全球工业、应用和研究部门联合推出标准的消息传递界面函数,不考虑其具体实现,以保证并行应用程序的可移植性;lMPI的具体实现:消息传递库函数,目前有影响的为MPICH和LAMMPI,我们注重MPICH系列;346.基于消息传递的并行程序执行模式:lSPMD模式:单程序多数据流并行应用程序代码可执行代码运行复制多份并独立执行,形成多个独立的进程进程三(内存)进程二(
6、内存)进程一(内存)消息传递(交换数据、同步、规约)协同lMPMD模式:多程序多数据流,除初始启动多个可执行代码,其余与SPMD模式一致;7.共享存储与分布式存储:l属于并行机体系结构的范畴,与消息传递并行程序设计平台无关;34节点CPUCPUCPUCPUCPUCPUMMM互连网络互连网络MMM分布式存储共享存储l消息传递是相对于进程间通信方式而言的,与具体并行机存储模式无关,任何支持进程间通信的并行机,均可支持消息传递并行程序设计;l几乎所有共享和分布存储并行计算环境均支持进程间的消息传递通信;34二、MPI环境的应用现状lMPI(消息传递界面)是全球工业、政府和科研部
7、门联合推出的适合进程间进行标准消息传递的并行程序设计平台,最初版MPI1.0本于1994年6月推出,目前最新的为MPI2.0版,于1998年年低推出;lMPI的具体实现:MPICH和LAMMPI,目前均已实现MPI1.2版,适用于任何并行计算平台;部分并行机已实现MPI2.0版;lMPI是目前应用最广的并行程序设计平台,几乎被所有并行计算环境(共享和分布式存储并行机、MPP、机群系统等)和流行的多进程操作系统(UNIX、WindowsNT)所支持,基于它开发的应用程序具有最佳的可移植性;l目前高效率的超大规模并行计算(1000
此文档下载收益归作者所有