昇腾社区首页
中文
注册
开发者
下载

可维可测能力

ATB当前提供以下可维可测能力:

其中,除日志系统外,其他所有可维可测能力都集成在msit工具内,需要通过工具进行使用。工具使用说明见msit工具使用指导

日志系统

ATB的日志系统支持日志分级、日志输出到标准输出、日志输出到文件。

  • 日志分级
    日志等级分为DEBUG、INFO、WARN、ERROR(默认)、NULL五个级别,如表1所示。
    表1 日志等级

    级别

    含义

    0

    DEBUG

    调试信息,打印加速库代码细节信息,加速库开发者可以通过查看DEBUG日志来调试框架代码。

    1

    INFO

    数据信息,打印算子与整图相关的信息,用户通过观察INFO日志就可以得知整图或单算子的运行状态。

    2

    WARN

    警告信息,表明会出现潜在错误的情形,给开发者一些提示。

    3

    ERROR

    错误信息,该级别打印错误与异常信息。

    4

    NULL

    关闭日志。

  • 环境变量
    • ASCEND_GLOBAL_LOG_LEVEL
      • 功能描述

        设置应用类日志的日志级别及各模块日志级别,仅支持调试日志。注意:ATB日志完全由此环境变量控制。

      • 示例:
        1
        2
        3
        4
        5
        export ASCEND_GLOBAL_LOG_LEVEL=0 # 设置全局为DEBUG级别日志,所有未设置MODULE级别的模块使用此级别
        export ASCEND_GLOBAL_LOG_LEVEL=1 # 设置全局为INFO级别日志,所有未设置MODULE级别的模块使用此级别
        export ASCEND_GLOBAL_LOG_LEVEL=2 # 设置全局为WARNING级别日志,所有未设置MODULE级别的模块使用此级别
        export ASCEND_GLOBAL_LOG_LEVEL=3 # 设置全局为ERROR级别日志,所有未设置MODULE级别的模块使用此级别
        export ASCEND_GLOBAL_LOG_LEVEL=4 # 设置全局关闭日志,所有未设置MODULE级别的模块使用此级别
        
    • ASCEND_MODULE_LOG_LEVEL
      • 功能描述

        设置应用类日志的各模块日志级别,仅支持调试日志。ATB日志所使用的模块名:OP,注意:OP模块名有多组件共用,非ATB单独占用。

      • 格式

        export ASCEND_MODULE_LOG_LEVEL=module_name1=module_level1:module_name2=module_level2:module_name3=module_level3

        module_name:为模块名,支持设置为GE、ASCENDCL、DRV、RUNTIME等,详情请参见《CANN 环境变量参考》中的“ASCEND_MODULE_LOG_LEVEL

        module_level:为对应模块的日志级别。

      • 示例
        1
        2
        export ASCEND_MODULE_LOG_LEVEL=OP=1 # 设置使用OP模块名的组件局部为INFO级别日志
        export ASCEND_MODULE_LOG_LEVEL=OP=1:GE=3 # 设置使用OP模块名的组件局部为INFO级别日志,设置使用GE模块名的组件局部为ERROR级别日志
        
    • ASCEND_SLOG_PRINT_TO_STDOUT
      • 功能描述

        是否开启日志打屏。开启后,日志将不会保存在log文件中,而是将产生的日志直接打屏显示。

        取值:

        0:关闭日志打屏,即日志采用默认输出方式,将日志保存在log文件中。

        1:开启日志打屏。

        其他值为非法值。

      • 示例
        1
        export ASCEND_SLOG_PRINT_TO_STDOUT=1
        
    • ASCEND_PROCESS_LOG_PATH
      • 功能描述

        设置日志落盘路径。

        日志存储时如果不存在该目录,会自动创建该目录;如果存在则直接存储。

        通过执行echo $ASCEND_PROCESS_LOG_PATH命令可以查看环境变量设置的路径。

        日志落盘优先级为:ASCEND_PROCESS_LOG_PATH > ASCEND_WORK_PATH > 日志默认存储路径($HOME/ascend/log)

        ASCEND_WORK_PATH详情请参见《CANN 环境变量参考》中的“ASCEND_WORK_PATH

      • 示例
        1
        export ASCEND_PROCESS_LOG_PATH=/home/mypath/log/
        
    • ASCEND_LOG_SYNC_SAVE
      • 功能说明

        日志写文件是否刷新。

      • 示例
        1
        export ASCEND_LOG_SYNC_SAVE=1
        
  • 日志保存
    1. 日志文件保存在[LOG_PATH]/atb下。其中,[LOG_PATH]由环境变量ASCEND_PROCESS_LOG_PATH和ASCEND_WORK_PATH控制,默认存储路径($HOME/ascend/log)。
    2. 日志文件的命名格式为atb_[PID]_[年][月][日][时][分][秒].log,其中,[PID]为线程号。例如:atb_253440_20231102065052.log。
  • 空间管理
    1. 每个日志文件大小最大为1GByte,最多存50个文件。如当前保存目录下的日志文件(以标准命名格式存储的日志文件)达到最高存储数量,将根据时间戳,删除最早时间的日志文件。
    2. 在生成日志文件前,将会对日志保存目录的空间大小进行判断,如果空间不足10GByte,将不会继续生成日志文件。

DumpTensor能力

该功能通过msit工具使能,主要用在精度调试场景,可通过配置参数来指定dump特定或全部Operation的Tensor二进制文件。详细信息请参考DumpTensor能力使用指导

保存Operation信息与保存Kernel信息

这两个功能通过msit工具使能,可将运行过程中的Operation信息或Kernel信息(如参数、输入张量Shape、输出张量Shape等)保存成csv文件。详细信息请参考保存算子信息能力使用指导

保存CPU Profiling数据

该功能通过msit工具使能,将ATB各个host侧接口的性能信息保存到文本文件中,用于host bound的性能问题定位。详细信息请参考保存CPU Profiling数据功能使用指导

保存拓扑信息

该功能通过msit工具使能,可将ATB中任意Operation的图结构转换成json文件保存到本地,并且保存下来的json文件还可以通过msit工具转换成onnx文件(该文件无法作为模型导入,因为缺少权重信息),使用netron等工具进行可视化。详细信息请参考保存拓扑信息功能使用指导

算子溢出检测

该功能通过msit工具使能,可检测整图运行过程中出现的算子溢出问题。若整图运行过程中出现了算子溢出问题,根据用户的配置,ATB会输出错误日志或是停止后续执行。详细信息请参考算子溢出检测功能使用指导