docker下运行分布式代码报nccl错误:connect returned Connection timed out,成功解决
转载地址:https://bbs.huaweicloud.com/forum/thread-143146-1-1.html
作者: devilmaycry
原文:
https://www.cnblogs.com/devilmaycry812839668/p/15023221.html
======================================================
相关内容参考:
https://www.cnblogs.com/devilmaycry812839668/p/15022320.html
=================================================================
docker 容器内安装 nccl 后,测试是否安装成功:
使用 NVIDIA公司官方提供的测试工具: nccl-tests
国内下载地址:
https://gitee.com/devilmaycry812839668/nccl-tests
下载后,进行编译: make
If CUDA is not installed in /usr/local/cuda, you may specify CUDA_HOME.
Similarly, if NCCL is not installed in /usr, you may specify NCCL_HOME.
默认,cuda的安装位置:/usr/local/cuda
默认,nccl的安装位置:/usr
如果cuda和nccl的安装位置不是默认的,而是手动选择其他地方的,那么需要在make的时候配置路径:
$ make CUDA_HOME=/path/to/cuda NCCL_HOME=/path/to/nccl
CUDA_HOME 为 cuda的安装路径。
NCCL_HOME 为 nccl的安装路径。
make 编译后进行简单的例子进行测试nccl是否安装成功。
Quick examples
Run on 8 GPUs (-g 8
), scanning from 8 Bytes to 128MBytes :
$ ./build/all_reduce_perf -b 8 -e 128M -f 2 -g 8
Run with MPI on 40 processes (potentially on multiple nodes) with 4 GPUs each :
$ mpirun -np 40 ./build/all_reduce_perf -b 8 -e 128M -f 2 -g 4
(该例子假设系统中已经安装了 openmpi)
这里我们需要修改的示例代码的地方为 -g , 如果你有一个显卡,那么就是-g 1 , 如果有四个显卡就是 -g 4
需要注意的是如果有显卡内存不够用(被其他进程调用已经占满),那么需要设置环境变量: export CUDA_VISIBLE_DEVICES="0,1,2,3"
CUDA_VISIBLE_DEVICES 变量用来指定可以用来进行测试的显卡,同时修改-g 后的数值。
假设 1 号显卡已经没有显存,那么设置 export CUDA_VISIBLE_DEVICES="0,2,3"
运行:
./build/all_reduce_perf -b 8 -e 128M -f 2 -g 3
mpirun -np 40 ./build/all_reduce_perf -b 8 -e 128M -f 2 -g 3
===========================================================
在容器中安装 nccl 后使用 nccl-tests 测试后报错:
Failed to init nccl communicator for group
init nccl communicator for group nccl_world_group
78244:78465 [0] NCCL INFO Call to connect returned Connection timed out, retrying
78244:78466 [1] NCCL INFO Call to connect returned Connection timed out, retrying
78244:78465 [0] NCCL INFO Call to connect returned Connection timed out, retrying
78244:78466 [1] NCCL INFO Call to connect returned Connection timed out, retrying
很大的可能就是建立容器的时候没有设置允许共享内存: --ipc=host
解决方案:
重新建立容器,在建立时加入设置: --ipc=host
形式如: sudo docker run -it --ipc=host **************************(其他参数这里不表)
docker下运行分布式代码报nccl错误:connect returned Connection timed out,成功解决相关推荐
- 运行go代码报错fork/exec ...main.exe: Access is denied.解决
下面是初学go语言的一段简单代码,在代码运行过程中报错: 我运行代码的时候,360会弹框显示有木马侵入,不管选择清除木马,还是允许,最终运行都是势必,报错结果显示被拦截了. 解决方法:关闭电脑的杀毒软 ...
- 使用idea打包war包和maven项目打包war包放到tomcat中运行,以及报404错误的解决
使用idea打包war包和maven项目打包war包放到tomcat中运行,以及报404错误的解决 在tomcat下运行打包的war包,访问时显示404 浅谈打包war包的方式 第一种: 第一步: 第 ...
- 命令行下运行 java someClass.class出现 “错误:找不到或无法加载主类someClass ” 的解决方案
命令行下运行 java someClass.class出现 "错误:找不到或无法加载主类someClass " 的解决方案 参考文章: (1)命令行下运行 java someCla ...
- python3.7运行报错_Python 3.7 环境下运行 scrapy crawl 报错 def write(self, data, async=False)?...
Python 3.7 环境下运行 scrapy crawl 报错 def write(self, data, async=False),详细报错信息如下: 2018-08-10 15:10:29 [s ...
- Docker下运行Presto访问Redis及BI展示
Docker下运行Presto访问Redis及BI展示 1. 环境准备 1.1 安装docker 1.2 创建network 2. 安装tendis 2.1 创建数据盘 2.2 启动tendis 3. ...
- 运行JS代码报错:Uncaught TypeError: Cannot read property‘style‘ of undefined
运行JS代码报错:Uncaught TypeError: Cannot read property'style' of undefined 这个报错的原因通常是没有获取指定的标签: 这个报错的原因通常 ...
- 运行php代码报错如下Uncaught Error: Call to undefined function curl_init()
运行php代码报错如下Uncaught Error: Call to undefined function curl_init() 前提要配置好php环境变量,cmd执行php -m查看模块信息 缺少 ...
- RouterSploit学习笔记(ubuntu或docker下运行)
RouterSploit学习笔记 1.在ubuntu虚拟机下运行 安装ubuntu 18.04 运行RouterSploit 2.win7 docker下运行RouterSploit 1.在ubunt ...
- Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法
Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法 1).容器中登录my ...
最新文章
- IOS开发笔记3-C语言基础复习
- JDK13 GA发布:5大特性解读
- Balanced Binary Tree
- AI理论知识基础(19)-线性变换(1)
- Mysql Order By 注入总结
- JAVA并发编程实践笔记
- 公差基本偏差代号_508/f7:基本偏差怎么查,标准公差又怎么查?
- Elasticsearch与Solr比较
- jconsole中无法显示本地启动的tomcat
- 最详细的Vivado安装教程
- 遭遇nat.exe,socks.exe,USP10.dll,BOSC.dll,kb080387.CNT,~ctwxw.txt等2
- 内存引起的蓝屏问题排查
- c语言图片渐入代码_如何用c语言读取图片
- EXCEL/WPS中的数组公式{},在钉钉用什么进行替代
- Redis基本应用及Java代码实现
- 改善磁带存储性能的五种方法
- mybatis 整合spring之mapperLocations配置的问题
- linux命令字典式总结(按用途分类)
- 酒精测试仪全国产化电子元件推荐方案
- win7中USB音箱没有声音解决办法
热门文章
- Windows安装Git cz (commitizen)
- OPENGL ES 2.0 知识串讲(2)――EGL详解
- 苹果输入法怎么换行_精选百度输入法皮肤|美美的几十款
- 什么命令能查看服务器的型号,查看服务器型号的命令
- Js获取字符串asc码
- 【视频开发】ONVIF客户端搜索设备获取rtsp地址开发笔记(精华篇)
- wifi频谱仪测试软件,使用频谱仪测试2.4G信号的测试方法,求助
- 反射在Java编程中的应用
- 技术人员如何从外包开始自己的事业
- 是不是不知道用什么命令查看mac系统信息?