Linux&HPC并行计算编程(二)-MPI编译安装与使用

Linux&HPC并行计算编程(二)-MPI编译安装与使用

目录

一、OpenMPI的安装与使用

1.1 OpenMPI简介

1.2 编译安装

二、Mvapich2的安装与使用

2.1 Mvapich2简介

2.2 编译安装

三、IntelMPI的安装与使用

3.1 intelmpi简介

3.2 编译安装与使用

一、OpenMPI的安装与使用

1.1 OpenMPI简介

OpenMPI项目是一个开源消息传递接口实现,由科研机构和行业合作伙伴联合开发和维护。因此,OpenMPI能够结合科学计算社区的专业知识、技术和资源,用以构建可用的最佳MPI库。

官网地址:https://www-lb.open-mpi.org

OpenMPI已实现或正在开发中的功能和特性包括:

完全符合MPI-3.1标准 线程安全性和并发性 动态进程生成 网络和进程容错 异构网络支持 单个库支持所有网络 运行时检测

多作业调度系统支持 多操作系统支持 多平台支持 高便捷性与可维护性 完整的API文档 主动响应邮件列表 基于BSD许可证的开源许可证

1.2 编译安装

tar xvf openmpi-X.X.X.tar.gz && cd openmpi-X.X.X

./configure --prefix=安装路径 CC=xxx CXX=xxx

make -j N

make install

#GNU编译器 CC=gcc CXX=g++

#Intel编译器 CC=icc CXX=icpc

#OpenMPI支持并行编译

#N为编译使用的进程数

自定义环境变量Modulefile文件

#%Module1.0

setenv OMPI_HOME 安装路径

prepend-path PATH ${OMPI_HOME}/bin

prepend-path LIBRARY_PATH ${OMPI_HOME}/lib

prepend-path LD_LIBRARY_PATH ${OMPI_HOME}/lib

prepend-path INCLUDE ${OMPI_HOME}/include

prepend-path PKG_CONFIG_PATH ${OMPI_HOME}/lib/pkgconfig

prepend-path MANPATH ${OMPI_HOME}/share/man

常用命令

命令解释

mpicc

OpenMPI C编译器

mpicxx

mpic++

OpenMPI C++编译器

mpif77

mpif90

OpenMPI Fortran编译器

mpirun

mpiexec

OpenMPI运行命令

$ mpirun -np 4 -hostfile hostfile program

-np X: 运行X个进程

--hostfile: 指定计算节点列表

hostfile形式一:每行一个结点

node1

node1

node2

node2

hostfile形式二:指定重复次数

node1 slots=2

node2 slots=2

节点内使用共享内存,节点间使用InfiniBand通信

$ mpirun -np 12 -hostfile hosts --mca btl self,sm,openib ./program

常用选项

含义

--mca orte_rsh_agent ssh

指定节点间通信

相关探索