本文基于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

附:

  1. 查看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 安装及使用相关推荐

  1. 在Linux服务器上安装horovod安装

    一.默认已经安装有CUDA环境 在安装之前一定要在官网上面看一看,因为每个人的环境有差异,没有百分一百的成功,根据官网安装教程先进行操作看看 官网连接如下: https://github.com/ho ...

  2. 6_分布式训练框架Horovod使用(20190111)

    分布式训练框架Horovod使用 文章目录 一.Horovod简介 二.Horovod框架的安装 Install 1.安装OpenMPI 2.安装Horovod 三.Horovod框架的使用 1.在项 ...

  3. 分布式深度学习最佳入门(踩坑)指南

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨Lyon@知乎(已授权) 来源丨https://zhuanla ...

  4. 调参侠看过来!两个提高深度学习训练效率的绝技

    1. 训练的瓶颈在哪里 GPU利用率低:模型训练时GPU显存沾满了,但是GPU的利用率比较不稳定,有时候0%,有时候90%,忽高忽低. 训练的数据量大:训练数据大,在百万/千万的量级,训练一个Epoc ...

  5. 【深度学习】— 各框架分布式训练简介+测评

    1.各框架分布式简介 1.Pytorch 从官方文档上我们可以看到,pytorch的分布式训练,主要是torch.distributed包所提供,主要包含以下组件: Distributed Data- ...

  6. Ubuntu16.04 安装 OpenMPI4.0.0

    Ubuntu16.04 安装 OpenMPI4.0.0 文章目录 OpenMPI 简介 一.OpenMPI 1.0.0版本下载 二.OpenMPI 安装步骤 1.解压并进行配置 2.Build 并安装 ...

  7. 30系列显卡安装tensorflow1.15

    在python 3.8 / CUDA 11环境下安装tensorflow 1.15 tensorflow已经全面更新到tf2,其官网显示老版本的tensorflow 1.15只支持python3.7以 ...

  8. 深度学习分布式训练框架 horovod (3)

    2.1 如何运行 官方给出的 Hovorod 运行范例之一如下: horovodrun -np 2 -H localhost:4 --gloo python /horovod/examples/ten ...

  9. [源码解析] 深度学习分布式训练框架 horovod (10) --- run on spark

    [源码解析] 深度学习分布式训练框架 horovod (10) - run on spark 文章目录 [源码解析] 深度学习分布式训练框架 horovod (10) --- run on spark ...

最新文章

  1. 从风投看中国IT行业的发展
  2. Python @函数装饰器用法
  3. 拉取git的分支项目
  4. 一文掌握Python集合的语法与应用
  5. rebase in git
  6. c# mysql 汉字乱码_c#+mysql 中文乱码
  7. Eclipse下创建Spring MVC web程序--非maven版
  8. 2. mysql 基本命令
  9. python计算出nan_学习笔记0522:Tensorflow训练模型出现loss是nan的问题排查
  10. pyqt5优秀项目python_基于Pyqt5打造量化系统GUI
  11. 从一个月2500没人要到大厂技术主管的编程之路|我的十年
  12. 计算机录制视频的方法,怎么录制电脑屏幕视频步骤(电脑录屏的方法有4种)...
  13. 育儿书籍阅读顺序的建议
  14. 计算机excel操作知识点汇总,【计算机二级之Excel】考点汇总
  15. 用Python做一个抢票脚本,演唱会门票轻松到手!
  16. android清理安全app测试经验总结
  17. 电机编码器调零步骤_各种编码器调零方法
  18. 自己用的一些觉得不错的软件
  19. 无限宝无法连接服务器是什么问题,无限宝客户端安装问题
  20. Xsolla与Ubisoft游戏Rainbow Six Siege 和刺客信条:辛迪加展开战略合作

热门文章

  1. 【无标题】2023速卖通开店教程,入驻图文讲解!
  2. 深入Kubernetes 之 DaemonSet :容器化守护进程
  3. CSS绘制三角形图标
  4. 【C语言航路】第一站:初识C语言(三)
  5. 经典数学问题——三门问题(数据分析面试题)
  6. ggplot2-标度、坐标轴和图例7
  7. svn下载安装与使用教程/方法
  8. 绿幕抠图在手机上使用认识.
  9. C语言遍历文件目录:readdir,opendir
  10. docker 进入,退出容器命令