昇腾 hccl error9 解决

163 阅读1分钟

训推场景Atlas800T A2服务器多机间通信有问题,报错timeout,客户用hccn_tool测试了多机卡间能够互通,但是直接执行"dist.reduce_scatter(output, input_tensor_list, group=dp_group)" 还是会timeout。报错信息rank0 是error 4, rank1 是 error9

客户排查发现多机allreduce其实是有问题的,-n指定的是卡数,跑8及以下都可以,跑16就会报错

问题解决:

查看/root/ascend/log/debug/plog里的日志,发现100.97.160.41网口down掉了,换一张网卡,配置环境变量export HCCL_SOCKET_IFNAME=eno0解决。

环境配套问题:

同时,客户在docker外启动通信测试,但是物理机在set device的时候会报错:

执行测试代码

import torch

import torch_npu

torch.npu.set_device("npu:0")

发现,导入torch_npu没问题,set_device()报错。通过版本配套检查发现,客户torch和torch_npu是2.5.1的版本,CANN版本是8.0.0,CANN版本与torch版本不配套,将torch和torch_npu版本降到2.4.0.post2解决。