服务器linux环境下horovod安装

服务器linux环境下horovod安装,第1张

服务器linux环境下horovod安装 horovod安装

文章目录
  • horovod安装
    • 一、非root账户编译安装NCCL
      • 1、从github上将nccl克隆到本地:
      • 2、安装:
      • 3、添加环境变量:
    • 二、TensorFlow安装:
    • 三、OpenMPI安装:
      • 1、创建目录并把openmpi包下载到此目录下
      • 2、解压:
      • 3、编译安装:
      • 4、环境变量配置:
      • 5、永久化环境变量:
    • 三、horovod安装:
      • 1、pypi本地包下载地址:
      • 2、指定编译器:
      • 3、编译:
      • 4、安装:

该文章默认cuda已经安装好

一、非root账户编译安装NCCL 1、从github上将nccl克隆到本地:

git clone https://github.com/NVIDIA/nccl.git

此处如遇到以下错误:

Failed to connect to github.com port 443:Connection time out

or

fatal: unable to access ‘https://github.com/…/.git’: Could not resolve host: github.com

解决方法:

①设置代理(没设置过代理或者速度慢时):

git config --global http.proxy “socks5://127.0.0.1:1080”
git config --global https.proxy “socks5://127.0.0.1:1080”

②取消代理(报错则取消):

git config --global --unset http.proxy

git config --global --unset https.proxy

2、安装:

cd nccl make -j12 src.build BUILDDIR=/home/wangzhong/nccl CUDA_HOME=/usr/local/cuda-11.0 NVCC_GENCODE="-gencode=arch=compute_35,code=sm_35"

  • -j12表示使用12个核心,使用nproc查看总核心数,根据具体情况进行调整;
  • BUILDDIR表示编译后,一些文件的存储路径;默认是nccl/build;当然如果是root用户可以指定到/usr/local/ncc/;
  • CUDA_HOME表示CUDA的目录,一般就在/usr/local/cuda
  • NVCC_GENCODE,如果不添加该字段,默认会编译支持所有架构;为了加速编译以及降低二进制文件大小,添加该字段,具体comute_35,sm_35是应该是和显卡算力相匹配,具体见:CUDA GPUs
3、添加环境变量:

vim ~/.bashrc

添加:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/wangzhong/nccl/lib

export PATH=$PATH:/home/wangzhong/nccl/bin

二、TensorFlow安装:

pip install --upgrade pip
pip install tensorflow -i https://pypi.doubanio.com/simple/
pip install tensorflow-gpu
pip install torch torchvision==0.4.0 -f https://download.pytorch.org/whl/torch_stable.html

-i选项指挂国内的镜像源,常用镜像源:

清华:https://pypi.tuna.tsinghua.edu.cn/simple

豆瓣:https://pypi.douban.com/simple/

三、OpenMPI安装:

这里选择使用oepnmpi4.0.0版本

1、创建目录并把openmpi包下载到此目录下

mkdir openmpi

wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.0.tar.gz

2、解压:

tar -zxvf openmpi-4.0.0.tar.gz

3、编译安装:

cd openmpi-4.0.0

./configure --prefix=/home/wangzhong/openmpi (保证g++、gcc已经安装,默认配置安装路径为/usr/local/lib,也可以使用--prefix=路径参数指定安装路径)

make (编译命令)

make all install(安装命令)

4、环境变量配置:

vim ~/.bashrc

末尾添加:

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

5、永久化环境变量:

source ~/.bashrc

三、horovod安装: 1、pypi本地包下载地址:

horovod · PyPI

tar -xvzf horovod-0.23.0.tar.gz

cd horovod-0.23.0.tar.gz

2、指定编译器:

export CC=gcc

export CXX=g++

3、编译:

python3 setup.py build sdist

4、安装:

HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVD_NCCL_HOME=/usr/local/cuda-11.0 HOROVOD_WITH_MPI=1 HOROVOD_WITH_GLOO=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_NCCL_INCLUDE=/home/wangzhong/nccl/include HOROVOD_NCCL_LIB=/home/wangzhong/nccl/lib pip3 install dist/horovod-0.23.0.tar.gz

错误总结:

此处遇到Could NOT find NCCL(missing:NCCL_INCLUDE_DIR NCCL_LIBRARY),一定要带上指明路径:

HOROVOD_NCCL_INCLUDE={nccl中include路径}
HOROVOD_NCCL_LIB={nccl中lib路径}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4663852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存