Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "什么是 MPI? MPI(Message Passing Interface ) MPI 是一个库,而不是一门语言; MPI 是一个库,而不是一门语言; MPI 是一种标准或规范的代表,而不特 指某一个对它的具体实现; MPI 是一种标准或规范的代表,而不特 指某一个对它的具体实现; MPI 是一种消息传递编程模型,并成为."— Presentation transcript:

1 什么是 MPI? MPI(Message Passing Interface ) MPI 是一个库,而不是一门语言; MPI 是一个库,而不是一门语言; MPI 是一种标准或规范的代表,而不特 指某一个对它的具体实现; 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) MPICH( 最新版本 1.2.7) http://www-unix.mcs.anl.gov/mpi/mpich/ LAM-MPI( 最新版本 7.1.2) LAM-MPI( 最新版本 7.1.2)http://www.lam-mpi.org/download/

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

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

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

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

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

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

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

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


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

Similar presentations


Ads by Google