启动命令如下:
source /usr/local/Ascend/cann/set_env.sh
export HCCL_EXEC_TIMEOUT=600
export HCCL_CONNECT_TIMEOUT=600
export NON_MEGATRON=true
export MULTI_STREAM_MEMORY_REUSE=2
export TASK_QUEUE_ENABLE=2
export ASCEND_LAUNCH_BLOCKING=1
export ACLNN_CACHE_LIMIT=100000
export CPU_AFFINITY_CONF=1
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
export HCCL_IF_IP=172.18.0.31
export ASCEND_SLOG_PRINT_TO_STDOUT=1 # 日志输出到终端
NPUS_PER_NODE=8
MASTER_ADDR=172.18.0.31
MASTER_PORT=6000
NNODES=4
NODE_RANK=0
WORLD_SIZE=$(($NPUS_PER_NODE*$NNODES))
NODE_ADDR=172.18.0.31
DISTRIBUTED_ARGS="
--nproc_per_node $NPUS_PER_NODE \
--nnodes $NNODES \
--node_rank $NODE_RANK \
--master_addr $MASTER_ADDR \
--master_port $MASTER_PORT
"
logfile=$(date +%Y%m%d)_$(date +%H%M%S)
mkdir -p logs
torchrun $DISTRIBUTED_ARGS mindspeed_mm/fsdp/train/trainer.py \
examples/qwen3_5/qwen3_5_35B_config1.yaml \
2>&1 | tee logs/train_${logfile}.log
```


可以试试如下方法
删除export HCCL_IF_IP=172.18.0.31
在ifconfig中查找host ip绑在了哪个网卡上,然后导入如下环境变量
export HCCL_SOCKET_IFNAME=网卡名字
export GLOO_SOCKET_IFNAME=网卡名字


可以试试如下方法
删除export HCCL_IF_IP=172.18.0.31
在ifconfig中查找host ip绑在了哪个网卡上,然后导入如下环境变量
export HCCL_SOCKET_IFNAME=网卡名字
export GLOO_SOCKET_IFNAME=网卡名字
bond1: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500
inet 172.18.0.37 netmask 255.255.252.0 broadcast 172.18.3.255
inet6 fe80::c250:64ff:fead:cb2e prefixlen 64 scopeid 0x20<link>
ether c0:50:64:ad:cb:2e txqueuelen 1000 (Ethernet)
RX packets 2437963 bytes 2680980065 (2.4 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 931507 bytes 217369185 (207.2 MiB)
TX errors 0 dropped 6 overruns 0 carrier 0 collisions 0
source /usr/local/Ascend/cann/set_env.sh
export HCCL_EXEC_TIMEOUT=600
export HCCL_CONNECT_TIMEOUT=600
export NON_MEGATRON=true
export MULTI_STREAM_MEMORY_REUSE=2
export TASK_QUEUE_ENABLE=2
export ASCEND_LAUNCH_BLOCKING=1
export ACLNN_CACHE_LIMIT=100000
export CPU_AFFINITY_CONF=1
export HCCL_SOCKET_IFNAME=bond1
export GLOO_SOCKET_IFNAME=bond1
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
export ASCEND_SLOG_PRINT_TO_STDOUT=1 # 日志输出到终端
NPUS_PER_NODE=8
MASTER_ADDR=172.18.0.31
MASTER_PORT=6000
NNODES=4
NODE_RANK=0
WORLD_SIZE=$(($NPUS_PER_NODE*$NNODES))
NODE_ADDR=172.18.0.31
DISTRIBUTED_ARGS="
--nproc_per_node $NPUS_PER_NODE \
--nnodes $NNODES \
--node_rank $NODE_RANK \
--master_addr $MASTER_ADDR \
--master_port $MASTER_PORT
"
您好,还是同样的结果,仍然通信超时


[ERROR] RUNTIME(661185,python3.10):2026-06-30-10:49:34.647.094 [stream.cc:1472]662555 GetError:Stream Synchronize failed, stream_id=6, retCode=0x111, [fftsplus task timeout].
[ERROR] RUNTIME(661185,python3.10):2026-06-30-10:49:34.647.101 [stream.cc:3697]662555 EnterFailureAbort:stream_id=6 enter failure abort.
[ERROR] RUNTIME(661185,python3.10):2026-06-30-10:49:34.647.121 [stars_engine.cc:1439]662555 StarsResumeRtsq:stop scheduling in abort failure mode: stream_id=6, sq_id=6, sq_head=1, task_id=1, taskType=52.
[ERROR] RUNTIME(661185,python3.10):2026-06-30-10:49:34.647.177 [stream.cc:1613]661185 SynchronizeExecutedTask:context is abort, status=0x715006b.
[ERROR] RUNTIME(661185,python3.10):2026-06-30-10:49:34.647.191 [stream.cc:1667]661185 SynchronizeImpl:failed, stream_id=3, error=0x715006b
[ERROR] RUNTIME(661185,python3.10):2026-06-30-10:49:34.647.200 [context.cc:569]661185 SyncStreamsWithTimeout:Synchronize stream fail, stream_id=3, errorCode=0x715006b.
[ERROR] RUNTIME(661185,python3.10):2026-06-30-10:49:34.647.221 [api_error.cc:2698]661185 DeviceSynchronize:Device synchronize failed.
[ERROR] RUNTIME(661185,python3.10):2026-06-30-10:49:34.647.239 [api_c_device.cc:245]661185 rtDeviceSynchronizeWithTimeout:ErrCode=507048, desc=[fftsplus timeout], InnerCode=0x715006b
[ERROR] RUNTIME(661185,python3.10):2026-06-30-10:49:34.647.246 [error_message_manage.cc:65]661185 FuncErrorReason:rtDeviceSynchronizeWithTimeout execution failed, reason=fftsplus timeout
[ERROR] ASCENDCL(661185,python3.10):2026-06-30-10:49:34.647.302 [device.cpp:198]661185 aclrtSynchronizeDeviceWithTimeoutImpl:wait for compute device to finish failed, runtime result = 507048.
[INFO] RUNTIME(661185,python3.10):2026-06-30-10:49:34.647.362 [api_impl.cc:7480] 661185 PeekLastErr: level=0 err=507048.
[INFO] RUNTIME(661185,python3.10):2026-06-30-10:49:34.647.517 [api_impl.cc:7480] 661185 PeekLastErr: level=0 err=507048.
这里显示错误代码507048,应该是内部任务执行超时,这是为什么呢?


可以试试如下方法
删除export HCCL_IF_IP=172.18.0.31
在ifconfig中查找host ip绑在了哪个网卡上,然后导入如下环境变量
export HCCL_SOCKET_IFNAME=网卡名字
export GLOO_SOCKET_IFNAME=网卡名字bond1: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500 inet 172.18.0.37 netmask 255.255.252.0 broadcast 172.18.3.255 inet6 fe80::c250:64ff:fead:cb2e prefixlen 64 scopeid 0x20<link> ether c0:50:64:ad:cb:2e txqueuelen 1000 (Ethernet) RX packets 2437963 bytes 2680980065 (2.4 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 931507 bytes 217369185 (207.2 MiB) TX errors 0 dropped 6 overruns 0 carrier 0 collisions 0source /usr/local/Ascend/cann/set_env.sh export HCCL_EXEC_TIMEOUT=600 export HCCL_CONNECT_TIMEOUT=600 export NON_MEGATRON=true export MULTI_STREAM_MEMORY_REUSE=2 export TASK_QUEUE_ENABLE=2 export ASCEND_LAUNCH_BLOCKING=1 export ACLNN_CACHE_LIMIT=100000 export CPU_AFFINITY_CONF=1 export HCCL_SOCKET_IFNAME=bond1 export GLOO_SOCKET_IFNAME=bond1 export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True export ASCEND_SLOG_PRINT_TO_STDOUT=1 # 日志输出到终端 NPUS_PER_NODE=8 MASTER_ADDR=172.18.0.31 MASTER_PORT=6000 NNODES=4 NODE_RANK=0 WORLD_SIZE=$(($NPUS_PER_NODE*$NNODES)) NODE_ADDR=172.18.0.31 DISTRIBUTED_ARGS=" --nproc_per_node $NPUS_PER_NODE \ --nnodes $NNODES \ --node_rank $NODE_RANK \ --master_addr $MASTER_ADDR \ --master_port $MASTER_PORT "您好,还是同样的结果,仍然通信超时
@weixin_46701715
四台机器都是这样写的吗?还是只有一台服务器是这样写的,这只是一个示例?四台服务器对应IP的网卡是不是都叫bond1。


可以试试如下方法
删除export HCCL_IF_IP=172.18.0.31
在ifconfig中查找host ip绑在了哪个网卡上,然后导入如下环境变量
export HCCL_SOCKET_IFNAME=网卡名字
export GLOO_SOCKET_IFNAME=网卡名字bond1: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500 inet 172.18.0.37 netmask 255.255.252.0 broadcast 172.18.3.255 inet6 fe80::c250:64ff:fead:cb2e prefixlen 64 scopeid 0x20<link> ether c0:50:64:ad:cb:2e txqueuelen 1000 (Ethernet) RX packets 2437963 bytes 2680980065 (2.4 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 931507 bytes 217369185 (207.2 MiB) TX errors 0 dropped 6 overruns 0 carrier 0 collisions 0source /usr/local/Ascend/cann/set_env.sh export HCCL_EXEC_TIMEOUT=600 export HCCL_CONNECT_TIMEOUT=600 export NON_MEGATRON=true export MULTI_STREAM_MEMORY_REUSE=2 export TASK_QUEUE_ENABLE=2 export ASCEND_LAUNCH_BLOCKING=1 export ACLNN_CACHE_LIMIT=100000 export CPU_AFFINITY_CONF=1 export HCCL_SOCKET_IFNAME=bond1 export GLOO_SOCKET_IFNAME=bond1 export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True export ASCEND_SLOG_PRINT_TO_STDOUT=1 # 日志输出到终端 NPUS_PER_NODE=8 MASTER_ADDR=172.18.0.31 MASTER_PORT=6000 NNODES=4 NODE_RANK=0 WORLD_SIZE=$(($NPUS_PER_NODE*$NNODES)) NODE_ADDR=172.18.0.31 DISTRIBUTED_ARGS=" --nproc_per_node $NPUS_PER_NODE \ --nnodes $NNODES \ --node_rank $NODE_RANK \ --master_addr $MASTER_ADDR \ --master_port $MASTER_PORT "您好,还是同样的结果,仍然通信超时
@weixin_46701715
四台机器都是这样写的吗?还是只有一台服务器是这样写的,这只是一个示例?四台服务器对应IP的网卡是不是都叫bond1。
@MoCuishle-M
四台机器的网卡都是 bond1,只有 bond1对应的网卡在集群通信网段


可以试试如下方法
删除export HCCL_IF_IP=172.18.0.31
在ifconfig中查找host ip绑在了哪个网卡上,然后导入如下环境变量
export HCCL_SOCKET_IFNAME=网卡名字
export GLOO_SOCKET_IFNAME=网卡名字bond1: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500 inet 172.18.0.37 netmask 255.255.252.0 broadcast 172.18.3.255 inet6 fe80::c250:64ff:fead:cb2e prefixlen 64 scopeid 0x20<link> ether c0:50:64:ad:cb:2e txqueuelen 1000 (Ethernet) RX packets 2437963 bytes 2680980065 (2.4 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 931507 bytes 217369185 (207.2 MiB) TX errors 0 dropped 6 overruns 0 carrier 0 collisions 0source /usr/local/Ascend/cann/set_env.sh export HCCL_EXEC_TIMEOUT=600 export HCCL_CONNECT_TIMEOUT=600 export NON_MEGATRON=true export MULTI_STREAM_MEMORY_REUSE=2 export TASK_QUEUE_ENABLE=2 export ASCEND_LAUNCH_BLOCKING=1 export ACLNN_CACHE_LIMIT=100000 export CPU_AFFINITY_CONF=1 export HCCL_SOCKET_IFNAME=bond1 export GLOO_SOCKET_IFNAME=bond1 export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True export ASCEND_SLOG_PRINT_TO_STDOUT=1 # 日志输出到终端 NPUS_PER_NODE=8 MASTER_ADDR=172.18.0.31 MASTER_PORT=6000 NNODES=4 NODE_RANK=0 WORLD_SIZE=$(($NPUS_PER_NODE*$NNODES)) NODE_ADDR=172.18.0.31 DISTRIBUTED_ARGS=" --nproc_per_node $NPUS_PER_NODE \ --nnodes $NNODES \ --node_rank $NODE_RANK \ --master_addr $MASTER_ADDR \ --master_port $MASTER_PORT "您好,还是同样的结果,仍然通信超时
@weixin_46701715
四台机器都是这样写的吗?还是只有一台服务器是这样写的,这只是一个示例?四台服务器对应IP的网卡是不是都叫bond1。@MoCuishle-M
四台机器的网卡都是 bond1,只有 bond1对应的网卡在集群通信网段
那不同机器上NODE_RANK应该都改了吧


底层驱动问题,已自行解决


在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。
⚠️ 安全信息提醒:请仔细检查提供的文本内容,确保其不包含敏感数据信息,包括但不限于:
在分享配置信息或代码示例时,请将敏感信息脱敏处理,或使用
<TOKEN>等占位符替代原有内容。环境信息
🐛 问题描述
分布式训练分别启动四个节点的训练任务后,主节点会提示超时,关键的报错信息和命令如下:
开始导入环境信息
[Rank 24 | Local Rank 0] 2026-06-29 15:39:34,528 INFO [torch_npu.env:15] => get env MASTER_ADDR = 172.18.0.31 [Rank 24 | Local Rank 0] 2026-06-29 15:39:34,529 INFO [torch_npu.env:15] => get env MASTER_PORT = 6000 [Rank 24 | Local Rank 0] 2026-06-29 15:39:34,529 INFO [torch_npu.env:15] => get env TORCHELASTIC_USE_AGENT_STORE = True [INFO] HCCL(13449,python3.10):2026-06-29-15:40:44.118.202 [externalinput.cc:579] [13449][HCCL_ENV] HCCL_CONNECT_TIMEOUT set by environment to [600]s [INFO] HCCL(13446,python3.10):2026-06-29-15:40:44.118.320 [externalinput.cc:579] [13446][HCCL_ENV] HCCL_CONNECT_TIMEOUT set by environment to [600]s [INFO] HCCL(13449,python3.10):2026-06-29-15:40:44.118.468 [externalinput.cc:1003] [13449][HCCL_ENV] HCCL_EXEC_TIMEOUT set by environment to [600.00]s [INFO] HCCL(13449,python3.10):2026-06-29-15:40:44.118.490 [externalinput.cc:646] [13449][HCCL_ENV] HCCL_INTRA_PCIE_ENABLE set by default to [1], HCCL_INTRA_ROCE_ENABLE set by default to [0] [INFO] HCCL(13449,python3.10):2026-06-29-15:40:44.118.500 [externalinput.cc:725] [13449][HCCL_ENV] environmental variable PROFILING_MODE and GE profiling option is not set, default: false [INFO] HCCL(13449,python3.10):2026-06-29-15:40:44.118.506 [externalinput.cc:819] [13449][HCCL_ENV] HCCL_WHITELIST_DISABLE set by default to [1] [INFO] HCCL(13449,python3.10):2026-06-29-15:40:44.118.516 [externalinput.cc:861] [13449][HCCL_ENV] HCCL_IF_IP is set to [172.18.0.37], ip[172.18.0.37]. [INFO] HCCL(13449,python3.10):2026-06-29-15:40:44.118.523 [externalinput.cc:917] [13449][HCCL_ENV] HCCL_SOCKET_IFNAME set by environment to [bond1] [INFO] HCCL(13449,python3.10):2026-06-29-15:40:44.118.527 [externalinput.cc:886] [13449][HCCL_ENV] HCCL_SOCKET_FAMILY is not set and is used by default [AF_INET] [INFO] HCCL(13449,python3.10):2026-06-29-15:40:44.118.533 [externalinput.cc:848] [13449][HCCL_ENV] HCCL_IF_BASE_PORT set by default to [60000] [INFO] HCCL(13445,python3.10):2026-06-29-15:40:44.118.557 [externalinput.cc:579] [13445][HCCL_ENV] HCCL_CONNECT_TIMEOUT set by environment to [600]s这里开始不知道为什么开始监听这个还有一些没见过的 ip 地址和端口,确定不是所在服务器网卡绑定的 ip
这里的 ip 跟我预设的节点间通信的 ip 都不一样,也不是服务器网卡绑定的 ip
子节点这里开始出现报错信息:
最后的报错信息如下:
主节点此时处于等待状态,最后报错:
已经尝试过,服务器间的通信正常,端口监听也显示几个ip 处于使用状态
子节点访问主节点的端口, telnet 端口连接正常:
telnet 172.18.0.31 6000 Trying 172.18.0.31... Connected to 172.18.0.31. Escape character is '^]'.请问该如何继续排查问题,还是说我 hccl 中哪里安装或者配置有问题
欢迎加入社区,感谢您对社区的贡献 🎉!