下载
中文
注册

NPU_COLLECT_PATH

功能描述

在复现问题场景下,使用该环境变量指定故障信息(包括dump图、AI Core算子异常数据、算子编译信息等)的保存路径,可配置为绝对路径或相对路径(此处是相对执行程序或命令的路径),执行用户需对该路径具有读、写、可执行权限,若路径不存在,系统会自动创建该路径中的目录。

注意,使用该环境变量需关注以下事项:

  • 设置该环境变量,默认自动开启异常算子dump数据采集功能。
  • 设置该环境变量之后转换模型,在编译om模型时会增加调试信息,导致om模型文件增大,若关注内存规划或内存资源有限时,则在调试完成后及时删除该环境变量。
  • 设置该环境变量,仅收集L1 exception dump信息,不收集模型Dump信息、单算子Dump信息、溢出算子Dump信息、L0 exception dump信息。

    L1 exception dump信息存放目录的优先级从高到低依次为:NPU_COLLECT_PATH -> ASCEND_WORK_PATH -> 默认路径(指执行程序的当前路径的extra-info目录)

    L1 exception dump是普通exception dump,L0 exception dump是Lite exception dump(即轻量化的exception dump),两者都会导出算子输入、算子数据、workspace数据等信息,但相比L0 exception dump,L1 exception dump的信息更多,开启L1 exception dump时,会在Host应用类日志文件(即plog日志)中打印出来各tensor的dtype等信息,还会把算子相关的算子名、kernel都打印出来。

  • 设置该环境变量,模型编译时会在线编译算子,不再使用已编译好的算子二进制文件。

    在线编译的算子信息(.o和.json文件)存放目录的优先级从高到低依次为:NPU_COLLECT_PATH -> ASCEND_CACHE_PATH -> 默认路径(指${HOME}/atc_data目录)

配置示例

export NPU_COLLECT_PATH=$HOME/demo/ 

使用约束

  • 当调用单算子API(例如aclnn类API)时,会使用已编译好的算子二进制文件,不涉及在线编译算子。
  • 若配置NPU_COLLECT_PATH环境变量,图模式下,涉及以下算子,在该环境变量指定的路径下无法生成算子编译文件,包括.o和.json文件。

    MatMulAllReduce

    MatMulAllReduceAddRmsNorm

    AllGatherMatMul

    MatMulReduceScatter

    AlltoAllAllGatherBatchMatMul

    BatchMatMulReduceScatterAlltoAll

  • 若配置NPU_COLLECT_PATH环境变量,不支持打开“检测Global Memory是否内存越界”的开关,否则编译出来的模型文件或算子kernel包在使用时会报错。打开“检测Global Memory是否内存越界”的开关有以下方式:
    • 使用ATC模型转换工具时,在--op_debug_config参数指定的配置文件中配置oom,详细配置请参见ATC工具指南
    • 使用op_compiler算子编译工具时,在--op_debug_config参数指定的配置文件中配置oom,详细配置请参见算子编译工具指南
    • 使用Ascend Graph方式构图时,将op_debug_config配置为oom或将OP_DEBUG_CONFIG配置为oom,详细配置请参见Ascend Graph开发指南
    • 基于TensorFlow的Python API开发的训练脚本迁移到昇腾AI处理器上执行训练时,将op_debug_config参数配置为oom,详细配置请参见TensorFlow 1.15模型迁移指南TensorFlow 2.6.5模型迁移指南

支持的型号

Atlas 200/300/500 推理产品

Atlas 训练系列产品

Atlas 推理系列产品

Atlas A2 训练系列产品/Atlas 800I A2 推理产品

Atlas 200I/500 A2 推理产品