结果说明
分布式训练执行完成后,开发者可以参考本章节检查执行结果、问题定位。
检查执行结果
- 检查运行结果。
不同的训练脚本打印结果不同,若执行分布式训练的每个Device出现类似如下打印信息,说明训练任务已经正常结束。

当开启环境变量DUMP_GE_GRAPH时,会生成GE的dump图文件。
1export DUMP_GE_GRAPH=2
在dump下来的图文件目录下,搜索到包含HcomBroadcast和HcomAllReduce算子,代表正常插入了NPU间通信的HCCL算子。
图1 GE的dump图
 - 如果运行失败,和单Device训练一样,通过日志分析并定位问题。
在$HOME/ascend/log/run/plog下查看Host侧日志plog_*.log,$HOME为Host侧用户根目录。
在单Device执行成功,多Device执行失败的情况下,一般为集合通信的问题,如图2所示。可以参见《HCCL集合通信库用户指南》的“FAQ”章节进行问题处理。
 
问题定位
如果运行失败,通过日志分析并定位问题。
在Host侧运行应用程序产生的运行日志路径:$HOME/ascend/log/run/plog/plog-pid_*.log。
在Device侧运行应用程序产生的运行日志路径:$HOME/ascend/log/run/device-id/device-pid_*.log。
$HOME为Host侧用户根目录。
一般通过ERROR级别的日志,识别问题产生模块,根据具体日志内容判定问题产生原因。
图3 错误日志样例


ModuleName  | 
出错流程  | 
解决思路  | 
|---|---|---|
系统类报错  | 
环境与版本配套错误  | 
系统类报错,优先排查版本配套与系统安装是否正确。  | 
GE  | 
GE图编译或校验问题  | 
校验类报错,通常会给出明确的错误原因,此时需要针对性地修改网络脚本,以满足相关要求。  | 
Runtime  | 
环境异常导致初始化问题或图执行问题  | 
对于初始化异常,优先排查当前运行环境配置是否正确,当前环境是否有其他进程占用。  | 
父主题: 执行分布式训练

