ubuntu20.04安装horovod

Horovod 是一套支持TensorFlow, Keras, PyTorch, and Apache MXNet 的分布式训练框架,由 Uber 构建并开源的第三方库,在分布式训练中性能优于原生像Tensorflow这种ps,worker架构,且代码改动量少,无需在多个节点多次执行脚本命令,使用起来方便。

首先我们需要安装nccl

可以去官网查找对应版本,https://developer.nvidia.com/nccl/nccl-legacy-downloads

我下的ubuntu20.04这个版本,直接安装

dpkg -i nccl-local-repo-ubuntu2004-2.8.4-cuda11.1_1.0-1_amd64.deb

然后安装openmpi,https://www.open-mpi.org/software/ompi/v4.1/

我们直接下载openmpi-4.1.4.tar.gz这个版本

wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.4.tar.gz
tar zxvf openmpi-4.1.4.tar.gz
cd openmpi-4.1.4/
./configure --prefix=/usr/local/openmpi
make all
make install

编译完成没有报错就是OK了。

然后添加openmpi的环境变量

LD_LIBRARY_PATH=/usr/local/openmpi/lib/:${LD_LIBRARY_PATH}
PATH=$PATH:/usr/local/openmpi/bin/:/usr/local/openmpi/lib/
ldconfig

简单测试是否成功

mpirun

最后安装horovod

装了NCCL的包,pip安装的特别指定一下NCCL的环境变量

pip3 install cmake
HOROVOD_NCCL_INCLUDE=/usr/include/ HOROVOD_NCCL_LIB=/usr/lib/x86_64-linux-gnu/ HOROVOD_NCCL_LINK=SHARED HOROVOD_GPU_OPERATIONS=NCCL pip3 install --no-cache-dir horovod

安装完成最后进行测试

import horovod.tensorflow as hvd

没有报模块错误就是成功了


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/874.html