HCCL Test执行时返回“retcode: 7”错误
问题现象
集群场景下,执行HCCL Test测试命令时,HCCL Test工具已启动成功,但打印出数据量,时间,带宽的表头后,后续执行报错,报错示例如下所示:
1 2 3 4 5 6 7 8 9 | the minbytes is 8192, maxbytes is 2147483648, iters is 20, warmup_iters is 5 hccl interface return err ./common/src/hccl_test_common.cc:538, retcode: 7 This is an error in init_hcclComm. hccl interface return err ./common/src/hccl_test_common.cc:538, retcode: 7 This is an error in init_hcclComm. hccl interface return err ./common/src/hccl_test_common.cc:538, retcode: 7 This is an error in init_hcclComm. hccl interface return err ./common/src/hccl_test_common.cc:538, retcode: 7 This is an error in init_hcclComm. |
可能原因
集群中与当前节点通信的节点上存在未退出的hccl_test进程。
解决方法
利用MPI的能力,终止残余的hccl_test进程。
- 准备好执行HCCL Test工具时配置的Hostfile文件,即3中所定义的Hostfile文件,例如文件名为“hostfile”。
- 终止集群中所有节点上参与的hccl_test进程。
- 安装MPICH的场景,命令示例如下:
mpirun -f hostfile -n 512 pkill -9 -f "all_reduce_test|mpirun"
- -f:MPICH命令参数,表示Hostfile节点列表文件。
- -n:MPICH命令参数,表示需要终止的NPU总数,即节点数量*每个节点上参与训练的NPU个数,请根据实际情况修改。
- pkill:Linux命令,紧跟的“-f”为pkill参数,用于指定要匹配的进程名或命令行参数的模式,其中命令示例中的“all_reduce_test”是之前执行的HCCL测试命令,请根据实际执行的命令进行修改。
- 安装Open MPI的场景,命令示例如下:
mpirun -hostfile hostfile -n 512 pkill -9 -f "all_reduce_test|openmpi"
- -hostfile:Open MPI命令参数,表示Hostfile节点列表文件。
- -n:Open MPI命令参数,表示需要终止的NPU总数,即节点数量*每个节点上参与训练的NPU个数,请根据实际情况修改。
- pkill:Linux命令,紧跟的“-f”为pkill参数,用于指定要匹配的进程名或命令行参数的模式,其中命令示例中的“all_reduce_test”是之前执行的HCCL测试命令,请根据实际执行的命令进行修改。
- 安装MPICH的场景,命令示例如下:
- 以上步骤执行完成后,再次执行HCCL Test工具进行测试即可。
父主题: 常见问题及解决方法