下载
中文
注册

使用msnpureport工具收集更多AI Core Error信息

联系技术支持定位一些疑难AI Core Error问题时,除了收集AI Core Error问题信息中收集的信息外,还需获取Device配置信息、设置TaskSchedule是否自动复位加速器、导出寄存器信息、设置AI Core上任务串联或并行执行、屏蔽指定AI Core或Vector Core上的任务执行等,以便更进一步排查算子问题、硬件问题。

  • Atlas 200/300/500 推理产品不支持使用本步骤的定位方法。
  • 昇腾AI应用进程运行过程中不支持使用本步骤中的定位方法,可能会导致应用进程运行异常或本步骤中的命令执行异常,需应用进程退出后才能使用。
  • 获取当前Device配置信息。

    命令格式如下,其中--device或-d用于指定deviceId,可选参数,默认为0:

    msnpureport config --get [--device <deviceId>]

    命令示例如下:

    msnpureport config --get --device 0
  • 设置TaskSchedule是否自动复位加速器,以便导出更详细、更精准的寄存器信息定位问题,但该配置后会影响执行性能。
    针对以下产品,AI Core问题定位场景下,执行本命令设置不自动复位加速器后,需再次复现问题,然后再参见•导出寄存器信息,便于后续辅助定位硬件问题。中的内容,可导出更详细、更精准的寄存器信息,辅助定位问题。
    • Atlas A2训练系列产品/Atlas 800I A2推理产品
    命令及其参数说明如下:

    命令

    参数

    说明

    msnpureport config --set [--device <deviceId>]

    --accelerator_recover {0 | 1}

    • --device或-d:指定deviceId,可选参数,默认为0。
    • --accelerator_recover:设置加速器是否复位。
      • 0:TaskSchedule不自动复位加速器。

        设置为该值、完成问题定位后,必须重启运行环境恢复AI Core业务,重启环境后,默认自动复位加速器。

      • 1:自动复位加速器,默认该选项。

    命令示例如下:

    msnpureport config --set --accelerator_recover 0 -d 1
  • 设置AI Core的singlecommit,设置后,需再次执行2收集故障信息、分析问题。
    命令及其参数说明如下:

    命令

    参数

    说明

    msnpureport config --set [--device <deviceId>]

    --singlecommit {0 | 1}

    • --device或-d:指定deviceId,可选参数,默认为0。
    • --singlecommit:设置AI Core上任务串联或并行执行。
      • 0:关闭AI Core singlecommit模式,此时AI Core内部多指令并行,默认该选项。
      • 1:开启AI Core singlecommit模式,此时AI Core内部多指令串行。

        设置为该值后,若重启运行环境,重启环境后,默认关闭AI Core singlecommit模式。

    命令示例如下:

    msnpureport config --set --singlecommit 0 -d 1
  • 屏蔽指定AI Core或Vector Core上的任务执行,以便排查哪个AI Core或Vector Core故障。设置后,需再次执行2收集故障信息、分析问题。
    命令及其参数说明如下:

    命令

    参数

    说明

    msnpureport config --set [--device <deviceId>]

    --aic_switch {0 | 1} --coreid 3,4

    屏蔽指定AI Core,需按照--aic_switch、--coreid参数顺序:

    • --device或-d:指定deviceId,可选参数,默认为0。
    • --aic_switch
      • 0:屏蔽AI Core。

        设置为该值后,若重启运行环境,重启环境后,默认不屏蔽AI Core。

      • 1:不屏蔽AI Core,默认该选项。
    • --coreid:指定core id,多个core id之间以英文逗号分隔,最多可同时指定4个AI Core,只要有一个core id无效,则该命令会返回报错。

    若想恢复初始值,可将--aic_switch设置为1,将--coreid设置为0xFFFF。

    Atlas 200I/500 A2推理产品上只有一个AI Core,不支持使用该命令屏蔽。

    msnpureport config --set [--device <deviceId>]

    --aiv_switch {0 | 1} --coreid 5,6

    屏蔽指定Vector Core,需按照--aiv_switch、--coreid参数顺序。

    • --device或-d:指定deviceId,可选参数,默认为0。
    • --aiv_switch
      • 0:屏蔽Vector Core。

        设置为该值后,若重启运行环境,重启环境后,默认不屏蔽Vector Core。

      • 1:不屏蔽Vector Core,默认该选项。
    • --coreid:指定core id,多个core id之间以英文逗号分隔,最多可同时指定4个Vector Core,只要有一个core id无效,则该命令会返回报错。

    若想恢复初始值,可将--aiv_switch设置为1,将--coreid设置为0xFFFF。

    Atlas 训练系列产品上没有Vector Core,不支持使用该命令。

    Atlas 200I/500 A2推理产品上没有Vector Core,不支持使用该命令。

    命令示例如下:

    msnpureport config --set --aic_switch 0 --coreid 3,4 -d 0
    msnpureport config --set --aiv_switch 0 --coreid 5,6 -d 0
  • 设置icache bit翻转检验范围,以便定位算子问题。设置后,需再次执行2收集故障信息、分析问题。
    命令及其参数说明如下:

    命令

    参数

    说明

    msnpureport config --set [--device <deviceId>]

    --icachecheck <参数>

    • --device或-d:指定deviceId,可选参数,默认为0。
    • --icachecheck :设置参数值,取值范围:[0, 131072],单位K byte,最大值120M byte。例如将该参数值设置为128,则校验从出错PC往前128K到出错PC往后128K的icache与GM(Global Memory)是否一致。

      在设置该参数值前,可先参见•获取当前Device配置信息。获取当前环境上的icache翻转校验范围(即Icache check range字段值)。

    命令示例如下:

    msnpureport config --set --icachecheck 128 -d 0
  • 导出寄存器信息,便于后续辅助定位硬件问题。
    命令及其参数说明如下:

    命令

    参数

    说明

    msnpureport report -t 2

    或者

    msnpureport report --type 2

    不涉及

    导出所有Device上的寄存器信息。

    注意,由于是导出所有寄存器信息,可能耗时较长,在10秒以内。

    命令示例如下:

    msnpureport report --type 2