MacOS中配置Open MPI

Open MPI 3.0.0 in MacOS环境配置

家中有两台电脑,一台是MacBook Pro,一台MacMini,使用SSH+Open MPI的方式将两台电脑相连,使用MPI APIs并行计算。

1 SSH登录

首先需要配置两台电脑的ssh,我使用了一个偷懒的方法,每台电脑安装一个Server.app,直接开启SSH登录即可。直接将Server.app安装后,选择这台电脑登录Server,然后在设置中的远程访问中选安全shell连接(SSH)即可。

2 设置IP地址

因为在家中用无线路由上网,就将这两台电脑的IP设为固定IP。

3 设置SSH免密码登录

这个在之前的文章中也提到过关于免密码登录,执行以下命令

ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub 目标主机

在两台电脑上都执行以上的语句。

4 安装Open MPI

我们直接从软件包安装。当然也可以从brew安装,但是现在是2.1.2版本,还没有升级到3.0.0。

# Get OpenMPI sources
mkdir -p ~/opt/src
cd ~/opt/src
curl "https://www.open-mpi.org/software/ompi/v3.0/downloads/openmpi-3.0.0.tar.gz" \
  -o openmpi-3.0.0.tar.gz
tar zxf openmpi-3.0.0.tar.gz

# Create location for OpenMPI
mkdir -p ~/opt/openmpi/openmpi-3.0.0
./configure --prefix=$HOME/opt/openmpi/openmpi-3.0.0
make
make install

整个过程在我的电脑中运行了半个小时以上。

5 配置环境变量

安装完成之后,我们需要配置环境变量。两台电脑使用SSH互相交互信息,但是并没有出现登录窗口,这种登录方式为non-interactive + non-login shell,即非交互非登录的shell。在登录时读取的环境变量文件是~/.bashrc。如果有兴趣可以参考feihu的文章。

编辑~/.bashrc文件并写入如下信息

export PATH=$HOME/opt/openmpi/openmpi-3.0.0/bin:${PATH}
export LD_LIBRARY_PATH=$HOME/opt/openmpi/openmpi-3.0.0/lib:${LD_LIBRARY_PATH}

然后我们需要编辑计算机列表建立文件~/hosts,输入每台电脑的IP地址,并指定每台电脑的slots数

IP1 slots=2
IP2 slots=2

6 测试

进入Open MPI的examples目录进行编译

cd /Users/wangang/opt/src/openmpi-3.0.0/examples
make

运行命令如下:

#测试本级
mpirun -np 4 hello_c
#测试联机
mpirun --hostfile ~/hosts -np 4 hello_c

如果现实Hello, world信息表明安装成功。

欢迎访问我的博客:http://www.histosci.xyz
参考:

  1. http://blog.csdn.net/kongxx/article/details/52227572
  2. http://www.owsiak.org/?p=3792

你可能感兴趣的:(MacOS中配置Open MPI)