昇腾社区首页
中文
注册

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

收集Device配置信息、寄存器信息,或者设置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是否自动复位加速器,以便导出更详细、更精准的寄存器信息定位问题,但该配置后会影响执行性能。设置后,再复现问题,然后再参见•导出寄存器信息,便于后续辅助定位硬件问题。建议...导出寄存器信息。
    命令及其参数说明如下:

    命令

    参数

    说明

    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内部多指令串行

    命令示例如下:

    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
      • 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
      • 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 :设置参数值,单位K byte,最大值120M byte。例如将该参数值设置为128,则校验从出错PC往前128K到出错PC往后128K的icache与GM(Global Memory)是否一致。

    命令示例如下:

    msnpureport config --set --icachecheck 128 -d 0
  • 导出寄存器信息,便于后续辅助定位硬件问题。建议先•设置TaskSchedule是否自动复位加速器...参见设置不自动复位,再复现问题,然后再导出寄存器信息,导出的寄存器信息更详细、更精准。
    命令及其参数说明如下:

    命令

    参数

    说明

    msnpureport report -t 2

    或者

    msnpureport report --type 2

    不涉及

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

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

    命令示例如下:

    msnpureport report --type 2