Ubuntu16.04 安装 OpenMPI4.0.0
文章目录
最近训练网络,需要提高训练的速度,需要使用分布式框架[Horovod](https://github.com/uber/horovod),但是使用前需要先安装OpenMPI
OpenMPI 简介
MPI全称是message passing interface,即信息传递接口,是用于跨节点通讯的基础软件环境。它提供让相关进程之间进行通信,同步等操作的API,可以说是并行计算居家出游必备的基础库
OpenMPI 是一种高性能消息传递库,最初是作为融合的技术和资源从其他几个项目(FT- MPI, LA-MPI, LAM/MPI, 以及 PACX-MPI),它是MPI-2标准的一个开源实现,由一些科研机构和企业一起开发和维护。因此,OpenMPI能够从高性能社区中获得专业技术、工业技术和资源支持,来创建最好的MPI库。OpenMPI提供给系统和软件供应商、程序开发者和研究人员很多便利。易于使用,并运行本身在各种各样的操作系统,网络互连,以及一批/调度系统。
Horovod 使用消息传递接口 (MPI) 模型,这是一种在高性能分布式计算环境中传递消息和管理节点之间的通信的常用标准。与标准的 TensorFlow 分布式训练模型相比,Horovod 的 MPI 实施提供更简单的编程模型,可让开发人员以最小的代码更改量,轻松扩展现有的单 GPU 训练程序。
详细介绍,看去吧
一、OpenMPI 1.0.0版本下载
下载地址:点我,我带你走!
下载好的压缩包:
二、OpenMPI 安装步骤
1、解压并进行配置
tar -zxvf openmpi-1.8.4.tar.gz
cd openmpi-1.8.4
./configure --prefix="/usr/local/openmpi"
注意最后一行是将其安装到 /usr/local/openmpi目录下,可以指定为其他目录,如,用户目录下。
2、Build 并安装
make # 编译时间需要耐心等待一会,最好是在后面加上 -j8 参数吧,会快一些,具体是几核,根据自己的PC选择
sudo make install
可以在make后加参数-j8, 表示用8核编译
3、添加环境变量
在.bashrc文件中添加下列几行
export PATH="$PATH:/usr/local/openmpi/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/openmpi/lib/"
保存后,执行
sudo ldconfig
打开新的终端,使环境变量生效。
注意:
可能你去添加环境变量的时候,发现上面的LD_LIBRARY_PATH、PATH 变量中已经有值了,此时只要加个冒号,再添加即可,类似windows添加变量用分号隔开一个道理。eg: export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/openmpi/lib/"
4、 测试是否安装成功
mpirun 或 which mpirun
在测试样例中进行测试:
cd examples
make
mpirun -np 8 hello_c
结果如下
测试成功 ——》完结
拜拜
♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠ ⊕ ♠