type
status
date
slug
summary
tags
category
icon
password
遇到问题
使用PaddleOCR进行多卡训练的时候, 显示错误
推测错误是系统缺少nccl2导致的.
解决方法
- 下载与CUDA版本和linux系统版本符合的NCCL, URL(需要登录NVIDIA账号)
- 查看cuda版本:
nvidia-smi
- 查看系统版本:
lsb_release -a
使用cuda 11.4, Ubuntu 18.04.6 LTS对应的 Local installer for Ubuntu 18.04
- 下载nccl的git项目
j12
表示使用12
个核心,使用nproc
查看总核心数,根据具体情况进行调整;BUILDDIR
表示编译后,一些文件的存储路径;默认是nccl/build
;当然如果是root用户可以指定到/usr/local/ncc/
;CUDA_HOME
表示CUDA的目录,默认就是/usr/local/cuda
,但是我这边不加这个,会报错,很奇怪;NVCC_GENCODE
,如果不添加该字段,默认会编译支持所有架构;为了加速编译以及降低二进制文件大小,添加该字段,具体见:CUDA GPUs, Matching CUDA arch and CUDA gencode for various NVIDIA architectures (注意似乎目前nccl还不支持算力8.6, 使用8.0. NVCC_GENCODE="-gencode=arch=compute_80,code=sm_80")
安装设置
最后呢,编译完成的文件都在指定的
BUILDDIR
字段路径下,需要将其添加到环境变量;在打开的文件中,添加:
保存后,执行:
之后就能开始跑多卡训练了.