- 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”
②取消代理(报错则取消):
2、安装:git config --global --unset http.proxy
git config --global --unset https.proxy
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
vim ~/.bashrc
添加:
二、TensorFlow安装:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/wangzhong/nccl/lib
export PATH=$PATH:/home/wangzhong/nccl/bin
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选项指挂国内的镜像源,常用镜像源:
三、OpenMPI安装:清华:https://pypi.tuna.tsinghua.edu.cn/simple
豆瓣:https://pypi.douban.com/simple/
这里选择使用oepnmpi4.0.0版本
1、创建目录并把openmpi包下载到此目录下2、解压:mkdir openmpi
wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.0.tar.gz
3、编译安装:tar -zxvf openmpi-4.0.0.tar.gz
4、环境变量配置:cd openmpi-4.0.0
./configure --prefix=/home/wangzhong/openmpi (保证g++、gcc已经安装,默认配置安装路径为/usr/local/lib,也可以使用--prefix=路径参数指定安装路径)
make (编译命令)
make all install(安装命令)
vim ~/.bashrc
末尾添加:
5、永久化环境变量:export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
三、horovod安装: 1、pypi本地包下载地址:source ~/.bashrc
horovod · PyPI
2、指定编译器:tar -xvzf horovod-0.23.0.tar.gz
cd horovod-0.23.0.tar.gz
3、编译:export CC=gcc
export CXX=g++
4、安装:python3 setup.py build sdist
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路径}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)