docker容器下安装nccl失败,报错:Failed to init nccl communicator for group,init nccl communicator for group nccl_world_group
相关内容参考:
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失败,报错:Failed to init nccl communicator for group,init nccl communicator for group nccl_world_group的更多相关文章
- 安装maven工程报错"Failed to execute goal on project...Could not resolve dependencies for project..."
我在qingcheng_interface中Lifecycle目录下执行install命令后报错"Failed to execute goal on project...Could not ...
- docker 容器使用 systemctl 命令是报错
看了许多解决方案,但是对于新手来说并不友好,不是特别清楚 报错内容: System has not been booted with systemd as init system (PID 1). C ...
- window7下安装第三方包报错及解决
window7 64位下安装第三方包,,比如安装yaml的exe执行文件,会 报错及解决:python version 2.7(3.4) required,which was not found in ...
- Linux下安装Tomcat启动报错
一.报以下错误: Using CATALINA_BASE: /home/apache-tomcat-7.0.72Using CATALINA_HOME: /home/apache-tomcat ...
- [python]解决Windows下安装第三方插件报错:UnicodeDecodeError: 'ascii' codec can't decode byte 0xcb in position 0:
系统:win7IDE:pycharm Python版本:2.7 安装第三方插件是报错: 报错原因与编码有关,pip把下载的临时文件存放在了用户临时文件中,这个目录一般是C:\Users\用户名\Ap ...
- docker 容器内启动 sshd 启动报错
创建容器设置密码 安装 openssh-server 启动出错 在容器内 使用 /usr/sbin/sshd -d 启动报错? [root@9d41c7f36c5e tmp]# /usr/sbin/s ...
- Windows下安装模块mysqlclient报错处理
Windows环境下使用pip命令安装Python模块mysqlclientpip install mysqlclient安装过程报错 [error] Microsoft Visual C++ 14 ...
- windows环境下安装scrapy框架报错问题--最快捷有效的解决方案
windows在执行如下命令,安装scrapy的过程中会报错: pip install scrapy 报错分析: windows环境下,会出现如下错误: 1.提示的错误是编译环境的问题,字面意思看需要 ...
- 在docker容器下安装airflow
本人的环境是基于centos7下来安装的 一.安装docker 下载docker安装包,下载地址:https://download.docker.com/linux/static/stable/x8 ...
- linux下安装redis组件报错-gcc报错
报错如图: 1.解决办法 先安装gcc插件.删除redis解压后文件.重新解压
随机推荐
- Mysql主机环境导入导出数据
mysql数据库,在主机环境下导出数据为csv文件. 命令:select * into outfile '/mysql/11.csv' from 表; 可能会报错:ERROR 1290 (HY000) ...
- es语法 rest api 模拟query 根据中文姓名搜索demo
es语法 rest api 模拟query 根据中文姓名搜索demo order_info_es/_doc/40094182abc GET order_info_es/_settings?pretty ...
- c++ win32 纤程
Win32纤程是一种轻量级的协程机制,它能够在同一个线程中实现多个线程执行的效果,从而提高了程序的并发性和可伸缩性. 在C++中,可以使用Win32 API中的fiber来实现纤程.以下是一个使用纤程 ...
- feildconfig
<template> <div style="float:left;width: 100%"> <el-row> <el-col :spa ...
- Service Mesh技术详解
深入探讨Service Mesh的基本概念和核心技术,涵盖了服务发现.负载均衡.断路器与熔断机制,以及数据平面与控制平面的详细工作原理和实现方法. 关注作者,复旦博士,分享云服务领域全维度开发技术.拥 ...
- ZYNQ:使用PetaLinux打包 BOOT.BIN、image.ub
说明 个人还是比较喜欢灵活去管理各个部分的源码. 有关文章: ZYNQ:PetaLinux提取Linux和UBoot配置.源码 编译Linux 取得Linux源代码和配置后,可以在其中执行make,编 ...
- arm linux 移植 SQLite 3
背景 SQLite 是 一个 常用于 嵌入式平台的 轻量级数据库. host平台 :Ubuntu 16.04 arm平台 : S5P6818 SQLite :3.31.1 arm-gcc :4.8.1 ...
- VS Code Go开发环境配置
1.安装Go 下载网址:https://go.dev/doc/install 根据自己的操作系统来进行安装,官网针对Windows.Linux.macOS都有对应教程.安装完成后打开终端,输入go v ...
- 在centos开启防火墙没启动22/tcp or 22/udp的情况下是如何ssh连上的
偶尔间查询防火墙的22/tcp or 22/udp ,看到是no的状态,而且此时也是ssh登陆的,然后就反复尝试,关闭22端口,开启,重载,重启.甚至连上另个服务器发现还是一样的情况.在群里问大佬们终 ...
- logo3