下载
中文
注册

使用msaicerr工具分析AI Core Error问题

使用约束

  1. 该工具仅支持本地分析使用,即部署该工具的环境应该和日志所在环境为同一环境(运行环境)。
  2. 该工具依赖python3.7.5或以上版本,在安装该工具的环境中需提前安装python。
  3. 该工具不支持在RC模式下使用。
  4. 该工具暂不支持分析以下算子的AI Core Error问题:
    • MatmulAllReduce类算子
    • MatmulAllReduceAddRmsNorm
    • MatmulAllReduceInplaceAddRmsNorm
    • AllGatherMatmul
    • MatmulReduceScatter
    • GroupedMatmulAllReduce
    • MemSet
    • NonMaxSuppressionBucketize

前提条件

已在CANN运行环境上安装toolkit包。详细安装请参见CANN 软件安装指南

已配置CANN基础环境变量,需要以安装时的运行用户登录环境,执行source ${install_path}/set_env.sh命令设置环境变量,其中${install_path}为软件包的安装目录,例如:/usr/local/Ascend/ascend-toolkit。

在使用msaicerr工具前,在“${install_path}/latest/toolkit/tools/msaicerr”目录下获取msaicerr.py。

使用msaicerr工具分析

  1. 以运行用户登录Host服务器。
  2. 使用msaicerr工具快速定位AI Core Error问题的关键原因

    进入“Toolkit包安装路径{$install_path}/tools/msaicerr”目录,根据收集AI Core Error问题信息中收集的信息,执行以下命令提取AI Core Error问题相关的关键信息。以下命令中aic_err_info存放AI Core Error问题信息的目录请根据实际情况替换。

    python3 msaicerr.py -p aic_err_info
    • 若执行msaicerr工具失败:
      1. 检查使用工具的前提条件是否满足、收集AI Core Error问题信息中收集的信息是否完整;
      2. 再参见算子输入args错误排查算子参数问题;
      3. 如果依然定位不了问题再联系技术支持。您可以获取日志后单击Link联系技术支持。
    • 如果执行msaicerr.py脚本报错“ModuleNotFoundError: No module named 'google'”,是由于缺少protobuf库(用于存储数据的一种数据格式),需使用pip3 install protobuf --user命令安装protobuf库后,再执行脚本。
    • 如果执行msaicerr.py脚本报错“ModuleNotFoundError: No module named 'chardet'”,是由于缺少chardet库(用于检测字符编码),需使用pip3 install chardet --user命令安装chardet库后,再执行脚本。
    • 如果执行msaicerr.py脚本报错“ModuleNotFoundError: No module named 'bfloat16ext'”,是缺少bfloat16ext库(用于解析bf16类型的数据),需使用pip3 install bfloat16ext --user命令安装bfloat16ext库后,再执行脚本。

    另外,可以使用命令python3 msaicerr.py -h,查看具体参数的含义。

    执行命令成功后,在执行命令的同级目录下生成“info_{时间戳}/aicerror_{number}_{时间戳}/info.txt”文件以及异常算子测试文件test_single_op.py(该文件仅在有异常算子时才存在)。

    用户可以直接通过info.txt文件进行问题分析和定位,重点关注Root cause conclusion处包含的关键信息,如下表所示。若收集AI Core Error问题信息中收集的信息中存在多个AI Core Error问题,则msaicerr工具按日志时间解析第一次出现的AI Core Error问题。

    表1 Root cause conclusion处包含的关键信息

    关键信息

    问题原因

    典型案例及处理方法

    Golden Op run error on your environment.

    环境异常。

    系统环境/硬件问题

    Single op test aicore error, please check op.

    单算子实现异常或编译过程异常。

    根据提示信息分析是用户自定义算子,还是cann内置算子。

    如果打屏日志中有如下提示,表示工具自动生成了单算子用例脚本,您可以执行该脚本复现单算子问题,根据提示排查问题,如果复现不了问题或者排查不出问题,请联系技术支持。您可以获取日志后单击Link联系技术支持。

    Run 'export PYTHONPATH=/usr/local/Ascend/CANN-7.3/tools/msaicerr/:$PYTHONPATH;cd /usr/local/Ascend/CANN-7.3/tools/msaicerr;python3 /home/xxxxxxx/xxx/info_xxxx/aicerror_xxxx/test_single_op.py' can test op!

    单算子运行报错

    Atomic accumulation exception

    由于精度问题导致溢出。

    atomic add精度溢出

    The addr of input/output is used but not alloc

    算子输入输出数据地址异常。

    算子输入输出数据地址异常

    The args of op is differrent before and after execute

    算子输入输出参数异常。

    算子输入args下发前后不一致

    Dump data failed in exception dump! Address of input or output is error!

    框架分配内存问题,此时需要区分是GE或其它框架,联系内部技术支持处理。您可以获取日志后单击Link联系技术支持。

    Dump数据失败

    There's no obvious known error, so I can't determine what the error is.

    msaicerr工具执行成功,但没有解析出来故障。

    联系技术支持处理。您可以获取日志后单击Link联系技术支持。