openMPI 安装
OpenMPI下载
解压:
tar -jxvf openmpi-4.0.0.tar.bz2
进入openMPI目录
cd openmpi-4.0.0
指定目录
mkdir build
./configure --prefix=/home/abc/openmpi-4.0.0/build
abc是用户文件夹名字
如果需要安装在/usr目录省去 - -prefix选项就ok
编译
make -j40
选项-j用于指定编译使用的核心,我的服务器上有40个核
安装
make install
安装完成后在build目录下会有几个文件夹,主要是bin和lib,bin主要是可执行文件,包括编译器和运行MPI的可执行文件,lib是库文件
环境配置
cd ~
vim .bashrc
在.bashrc中添加
PATH=$PATH:/home/abc/openmpi-4.0.0/build/bin/
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/abc/openmpi-4.0.0/build/lib/
保存退出,重新加载一下配置
source .bashrc
用MPI运行代码
首先你的代码肯定要是使用MPI的啦
使用命令mpirun -np 40 xxx
xxx就是我要运行的代码,-np指定了进程数
如果要在多节点运行,需要先配置ssh免密登录,MPI运行有两种方法:
1.指定节点文件
mpirun -np 40 -hostfile hosts xxx
hosts里面写有节点名字,使用slots指定节点运行的进程数,如果不指定进程数,那么全部进程都会运行在第一个节点,节点名字在/etc/hosts里面配置,-np指定总进程数
hosts的例子:
host1 slots=20
host2 slots=20
2.使用参数 -H,大写的H,小写h是help
mpirun -np 40 -H host1:20,host2:20 xxx
在节点名称后面使用 冒号+进程数 指定节点进程数