Q1: 进行HCCL分布式训练出错:Init plugin so failed, ret = 1343225860?
A1: 在Ascend进行分布式训练时初始化HCCL失败了,通常由于rank_table.json没写对,可以执行此文件hccl_tools.py生成一个新的rank_table.json。或者导入环境变量export ASCEND_SLOG_PRINT_TO_STDOUT=1打开HCCL的日志打印,根据日志中的ERROR信息来排查问题。
Q2: MindSpore执行GPU分布式训练报错如下,如何解决:
Loading libgpu_collective.so failed. Many reasons could cause this:
1.libgpu_collective.so is not installed.
2.nccl is not installed or found.
3.mpi is not installed or found
复制
A2: 此问题为MindSpore动态加载集合通信库失败,可能原因如下:
执行环境未安装分布式训练依赖的OpenMPI以及NCCL。
NCCL版本未更新至v2.7.6: MindSpore v1.1.0新增GPU P2P通信算子,该特性依赖于NCCL v2.7.6,若环境使用的NCCL未升级为此版本,则会引起加载失败错误。
Q3:GPU分布式训练场景下,若错误设置环境变量CUDA_VISIBLE_DEVICES的个数小于执行的进程数时,可能导致进程阻塞问题。
A3:此场景下,部分训练进程会提示如下报错:
[ERROR] DEVICE [mindspore/ccsrc/runtime/device/gpu/cuda_driver.cc:245] SetDevice] SetDevice for id:7 failed, ret[101], invalid device ordinal. Please make sure that the 'device_id' set