【MindSpore Profiler】【性能调优】GPU分布式训练卡死

问题描述:

【功能模块】

  • MindSpore提供的Bert训练脚本(https://gitee.com/mindspore/models/tree/master/official/nlp/bert)
  • GPU分布式训练
  • MindSpore的Profiler工具

【操作步骤&问题现象】

1、在单机四卡环境下,使用官方提供的脚本进行训练,参数配置未改变

2、在run_pretrain.py文件中调用Profiler工具记录性能数据(代码中第24,25行)

3、发现训练过程卡死不动,程序未报错退出,此时GPU利用率为0,CPU利用率很高

4、相关环境为

  • python 3.8.13, mindspore 1.7.0, mindinsight 1.7.0
  • cuda 11.1, nccl 2.7.8, cudnn 8.0.4
  • 单机四卡训练

【截图信息】

卡死时状态

【MindSpore Profiler】【性能调优】GPU分布式训练卡死_第1张图片

 

解答:

从日志看,应该在正常执行,只是用profiler之后,会改成同步执行,网络执行速度就会比较慢。一般情况下,大网络,只会跑几个step用来分析性能,不会长期跑。 step 收集,可以通过callback实现

from mindspore.train.callback import Callback class StopAtStep(Callback):

如下有配置方案 https://www.mindspore.cn/mindinsight/docs/zh-CN/r1.7/performance_profiling_gpu.html

你可能感兴趣的:(大数据)