horovod 安装及使用
本文基于Ubuntu 16.04 系统介绍Horvod安装使用情况。
官方安装教程见:https://github.com/horovod/horovod#id6。
其中,Open MPI的安装可见本人博客https://blog.csdn.net/u013431916/article/details/80230152。
如需NCCL支持,可见本人博客https://blog.csdn.net/u013431916/article/details/82759525。
如不需使用GPU,可使用以下指令快速安装:
$ pip install horovod
horovod on GPU的官方教程见https://github.com/horovod/horovod/blob/master/docs/gpus.rst#horovod-on-gpu。简单来说,如果希望GPU发挥高性能,先安装NCCL,然后在使用pip安装horovod时,设置使用NCCL进行allreduce操作。如:
$ HOROVOD_GPU_ALLREDUCE=NCCL pip install --no-cache-dir horovod
需要注意的是,如果服务器上有多个版本的cuda,并且你所使用的并非软链接到/usr/local/cuda的版本,那么需要设置cuda路径等变量:
$ HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_CUDA_HOME=/usr/local/cuda-9.0 HOROVOD_NCCL_HOME=/usr/local/cuda-9.0 pip install --no-cache-dir horovod
否则可能出现计算能力不匹配等问题。
horovod的使用,以单机使用2块GPU,启动2个worker为例:
$ CUDA_VISIBLE_DEVICES='0,1' horovodrun -np 2 -H localhost:2 python ~/test/horovod/tensorflow_mnist.py
其中,tensorflow_mnist.py见https://github.com/horovod/horovod/blob/master/examples/tensorflow_mnist.py
附:
- 查看tensorflow使用的NCCL版本:
设置环境变量
$ export NCCL_DEBUG=VERSION
这样,在NCCL首次调用ncclCommInitAll或者ncclCommInitRank的时候会打印NCCL版本。
参考:
1. Cuda failure 'invalid device function'
2. Is there the way to check the version of NCCL ?
horovod 安装及使用相关推荐
- 在Linux服务器上安装horovod安装
一.默认已经安装有CUDA环境 在安装之前一定要在官网上面看一看,因为每个人的环境有差异,没有百分一百的成功,根据官网安装教程先进行操作看看 官网连接如下: https://github.com/ho ...
- 6_分布式训练框架Horovod使用(20190111)
分布式训练框架Horovod使用 文章目录 一.Horovod简介 二.Horovod框架的安装 Install 1.安装OpenMPI 2.安装Horovod 三.Horovod框架的使用 1.在项 ...
- 分布式深度学习最佳入门(踩坑)指南
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨Lyon@知乎(已授权) 来源丨https://zhuanla ...
- 调参侠看过来!两个提高深度学习训练效率的绝技
1. 训练的瓶颈在哪里 GPU利用率低:模型训练时GPU显存沾满了,但是GPU的利用率比较不稳定,有时候0%,有时候90%,忽高忽低. 训练的数据量大:训练数据大,在百万/千万的量级,训练一个Epoc ...
- 【深度学习】— 各框架分布式训练简介+测评
1.各框架分布式简介 1.Pytorch 从官方文档上我们可以看到,pytorch的分布式训练,主要是torch.distributed包所提供,主要包含以下组件: Distributed Data- ...
- Ubuntu16.04 安装 OpenMPI4.0.0
Ubuntu16.04 安装 OpenMPI4.0.0 文章目录 OpenMPI 简介 一.OpenMPI 1.0.0版本下载 二.OpenMPI 安装步骤 1.解压并进行配置 2.Build 并安装 ...
- 30系列显卡安装tensorflow1.15
在python 3.8 / CUDA 11环境下安装tensorflow 1.15 tensorflow已经全面更新到tf2,其官网显示老版本的tensorflow 1.15只支持python3.7以 ...
- 深度学习分布式训练框架 horovod (3)
2.1 如何运行 官方给出的 Hovorod 运行范例之一如下: horovodrun -np 2 -H localhost:4 --gloo python /horovod/examples/ten ...
- [源码解析] 深度学习分布式训练框架 horovod (10) --- run on spark
[源码解析] 深度学习分布式训练框架 horovod (10) - run on spark 文章目录 [源码解析] 深度学习分布式训练框架 horovod (10) --- run on spark ...
最新文章
- 从风投看中国IT行业的发展
- Python @函数装饰器用法
- 拉取git的分支项目
- 一文掌握Python集合的语法与应用
- rebase in git
- c# mysql 汉字乱码_c#+mysql 中文乱码
- Eclipse下创建Spring MVC web程序--非maven版
- 2. mysql 基本命令
- python计算出nan_学习笔记0522:Tensorflow训练模型出现loss是nan的问题排查
- pyqt5优秀项目python_基于Pyqt5打造量化系统GUI
- 从一个月2500没人要到大厂技术主管的编程之路|我的十年
- 计算机录制视频的方法,怎么录制电脑屏幕视频步骤(电脑录屏的方法有4种)...
- 育儿书籍阅读顺序的建议
- 计算机excel操作知识点汇总,【计算机二级之Excel】考点汇总
- 用Python做一个抢票脚本,演唱会门票轻松到手!
- android清理安全app测试经验总结
- 电机编码器调零步骤_各种编码器调零方法
- 自己用的一些觉得不错的软件
- 无限宝无法连接服务器是什么问题,无限宝客户端安装问题
- Xsolla与Ubisoft游戏Rainbow Six Siege 和刺客信条:辛迪加展开战略合作