虽然官方Caffe 是采用 NCCL 进行分布式训练, 但也有一些 Caffe 分支是采用 MPI 分布式训练网络, 如 Caffe-Intel.

环境:

1. NCCL 库安装

在多个 GPU 上并行计算, Caffe 需要使用 NVIDIA NCCL.

git clone https://github.com/NVIDIA/nccl.git
cd nccl
sudo make install -j4
sudo ldconfig

2. OpenMPI 安装

sudo apt-get install openmpi # 安装版本比较低

源码编译2.0.2版本安装:

wget https://www.open-mpi.org/software/ompi/v2.0/downloads/openmpi-2.0.2.tar.gz

tar zxvf openmpi-2.0.2.tar.gz
cd openmpi-2.0.2
sudo ./configure --prefix=/usr/local #
sudo make
sudo make install 

#配置环境变量
export PATH=$PATH:/usr/local/openmpi/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openmpi/lib/  
source ~/.bashrc  
sudo ldconfig  

#测试
cd examples
make
mpirun -np 8 hello_c

源码编译 3.0.1 版本安装:

cd /opt/
#下载 openmpi 压缩包, 
wget https://www.open-mpi.org/software/ompi/v3.0/downloads/openmpi-3.0.1.tar.gz

#解压
tar -xvf openmpi-3.0.1.tar.gz

# 配置
./configure --prefix=/usr/local/openmpi
# 编译
make
# 安装
# MPI 库文件默认安装目录 - /usr/local/lib
sudo make install


# 环境变量设置
sudo gedit /etc/profile
# 在末尾添加下面两行行
export PATH=/usr/local/openmpi/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openmpi/lib:$LD_LIBRARY_PATH

# 测试是否安装完成
mpirun
# 输出如下:
#--------------------------------------------------------------------------
#mpirun could not find anything to do.
#
#It is possible that you forgot to specify how many processes to run
#via the "-np" argument.
#--------------------------------------------------------------------------


# 卸载
sudo make uninstall

3. Ubuntu源码安装步骤

主要包括三个步骤:

1 - ./configure 
2 - make 
3 - make install

这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。

./configure 是用来检测安装平台的目标特征的. 比如它会检测是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本.

make 是用来编译的,它从Makefile中读取指令,然后编译.

make install 是用来安装的,它也从Makefile中读取指令,安装到指定的位置.

From Linux 命令详解(三)./configure、make、make install 命令

Last modification:June 6th, 2021 at 09:51 pm