Horovod 分布式训练框架搭建

本文详细介绍了在Ubuntu16.04系统上安装Horovod的步骤,包括nccl、openmpi和horovod三个关键模块的安装过程,以及如何适配不同版本的CUDA环境,最后通过官方示例验证了安装的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击 Horovod 官网地址访问详情.下面主要介绍在 Ubuntu 16.04 系统下安装 Horovod,都是参考官网的说明.一共需要安装三个模块

1: nccl #NVIDIA Collective Communications Library (NCCL)多卡,多cpu通讯模块
2: openmpi # 一个并行库,玩过caffe的同学都知道
3: horovod # Uber 出品的 分布式训练框架

1.安装nccl

登陆 Nvidia的nccl下载网页 (需要注册一个nvidia的账号),同意协议,选择适合自己的cuda版本,选择下载 无操作系统相关的格式.比如下图

下载后的名称为 nccl_2.5.6-1+cuda10.0_x86_64.txz,解压到指定的路径,并添加到环境变量中

sudo tar xvf nccl_2.5.6-1+cuda10.0_x86_64.txz -C /usr/local  #解压到制定目录
echo '/usr/local/nccl_2.5.6-1+cuda10.0_x86_64'|sudo tee -a /etc/ld.so.conf.d/nccl.conf  #添加路径到环境变量
sudo ldconfig  #刷新环境变量

2.安装openmpi

wget -c https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.2.tar.gz #下载源码
tar xvf openmpi-4.0.2.tar.gz #解压
cd openmpi-4.0.2
./configure --prefix=/usr/local #指定安装目录
make -j8 #编译
sudo make install #安装
sudo ldconfig #刷新一下环境变量
cd examples/
make 
./hello_c #测试安装是否完成,有输出则代表完成

3.安装horovod

官网介绍如下

因为我的tensorflow是通过pip(PyPi) 安装的,所以需要有 g++-4.9,先安装g++-4.9

g++ --version #查看当前g++版本,如果是4.9则不需要安装
sudo apt install cmake
sudo apt install gcc-4.9
sudo apt install g++-4.9
sudo rm /usr/bin/gcc #删除原有的软连接
sudo rm /usr/bin/g++ #删除原有的软连接
sudo ln -s /usr/bin/gcc-4.9 /usr/bin/gcc  #新建软连接
sudo ln -s /usr/bin/g++-4.9 /usr/bin/g++  #新建软连接
pip install horovod  #安装horovod

以上就完成了所有安装步骤(省略了安装nvidia驱动,cuda,cudnn的步骤)

测试了官方提供的例子,基本达到了准线性加速.运行方式如下图

完结散花,觉得麻烦的同学,可以使用docker的版本,只是pull比较大,可以自己修改dockerfile,注释掉不需要的后端(pytorch,mxnet),然后本地build,应该会快一些,至少小一些.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值