1 / 12

什么是 MPI?

什么是 MPI?. MPI(Message Passing Interface ) MPI 是一个库,而不是一门语言; MPI 是一种标准或规范的代表 ,而不特指某一个对它的具体实现; MPI 是一种消息传递编程模型 ,并成为这种编程模型的代表和事实上的标准;. MPI 的历史. MPI 初稿 : 美国并行计算中心工作会议( 92 年 4 月) MPI-1 公布:第一届 MPI 大会( 93 年 1 月) MPI 标准正式发布: 1994 年 5 月 MPI-1.1 发布: 1995 年 6 月

tarmon
Download Presentation

什么是 MPI?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 什么是MPI? MPI(Message Passing Interface ) • MPI是一个库,而不是一门语言; • MPI是一种标准或规范的代表,而不特指某一个对它的具体实现; • MPI是一种消息传递编程模型,并成为这种编程模型的代表和事实上的标准;

  2. MPI的历史 • MPI初稿:美国并行计算中心工作会议(92年4月) • MPI-1公布:第一届MPI大会(93年1月) • MPI标准正式发布:1994年5月 • MPI-1.1发布:1995年6月 • MPI-2发布:(以前的版本统称MPI-1) 1997年7月

  3. MPI的实现 MPICH:最重要的MPI实现 • 与MPI-1规范同步发展的版本 • 支持部分MPI-2的特征(如动态生成进程等) LAM(Local Area Multicomputer) • Ohio State University开发 • 它主要用于异构的计算机网络计算系统

  4. 下载地址 • MPICH(最新版本1.2.7) http://www-unix.mcs.anl.gov/mpi/mpich/ • LAM-MPI(最新版本7.1.2) http://www.lam-mpi.org/download/

  5. 机房环境 • 软件部分 操作系统:RedHat Enterprise Linux AS4 Mpi实现:MPICH-1.2.7 • 硬件部分 每个集群系统4个刀片(每片主要参数): 2CPU (Xeon3.2GHZ),2GB RAM,2(4)个千兆网卡,2个SCSI硬盘

  6. 机房集群简介 • 一个主节点(一个刀片) 启用双网卡,设置内/外网IP地址,用于用户登陆、提交调试程序、管理员管理集群等。主节点开启SSH、Ftp等服务。 • 三个从节点 用于从主节点接受计算任务并执行计算(返回结果)。从节点开启SSH服务。 节点之间的通信通过SSH协议来实现

  7. 集群使用简介 • 用户可以使用SSH远程登陆主节点,推荐使用工具secureCTR或者Putty. • 用户提交数据使用Ftp上传,推荐使用工具cuteFtp.

  8. MPI程序的编译 • 用户登陆之后,可以对提交的程序进行调试,调试命令为: • (c )mpicc –o yourproc yourproc.c • (c++)mpiCC –o yourproc yourproc.cpp • (f77)mpif77 –o yourproc yourproc.f • (f90)mpif90 –o yourproc yourproc.f90 • 更多的参数选项,请使用–help得到帮助

  9. MPI程序的运行 • mpirun –np NUM yourproc 其中NUM表示用户需要开启的进程数 yourproc是编译后的可执行程序名,默认是a.out 更多的参数选项,请使用–help 得到帮助

  10. 例子演示 • 计算Pi的值

  11. 共享存储编程 • OpenMP应用编程接口API是在共享存储体系结构上(如SMP)的一个编程模型. • OpenMP包含编译制导(Compiler Directive)、运行库例程(Runtime Library)和环境变量(Environment Variables) • OPenMP也和c/c++/fortran语言绑定

  12. OpenMP并行编程模型 • 基于线程的并行编程模型 • 使用Fork-Join并行执行模型: • 主线程根据需要创建一组子线程进行工作分担. • 可对串行程序进行逐步并行化.

More Related