结果说明
分布式训练执行完成后,开发者可以参考本章节检查执行结果、问题定位。
检查执行结果
- 检查运行结果。不同的训练脚本打印结果不同,若执行分布式训练的每个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所示。可以参见《集合通信用户指南》的“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 | 环境异常导致初始化问题或图执行问题 | 对于初始化异常,优先排查当前运行环境配置是否正确,当前环境是否有其他进程占用。 | 
     父主题: 执行分布式训练
    
   
