文档
注册
评分
提单
论坛
小AI

使用前准备

使用约束

  • Device侧内存检测和CANN软件栈内存检测不能同时使能,若同时使能会提示“--check-cann-heap and --check-device-heap CANNOT both enabled”。
  • 使用工具提供的API头文件重新编译的待检测程序只能用于AsecndCL系列接口的泄漏检测,无法用于Device接口的检测。
  • 如要加载的可执行文件或用户自定义程序本身带有命令行参数时,在可执行文件或用户程序之前使用“--”分隔检测工具和用户命令,如下所示:
    mssanitizer --check-cann-heap=yes --leak-check=yes -- ./<kernel_name>_npu  parameter1 parameter2 ...

prog.py为用户自定义脚本,自定义脚本中不建议配置删除文件或目录、修改密码、提权命令等有安全风险的高危操作。

环境准备

请参考环境准备,完成相关环境变量的配置。

添加编译选项

要启用算子检测功能时,需要在算子代码的编译阶段增加 --enable-sanitizer 选项,链接阶段增加 --enable-sanitizer --cce-aicore-arch={ARCH} 选项,其中 {ARCH} 需要与编译时使用的芯片类型一致,具体请参见表1。为了在异常报告输出时能显示异常发生的具体位置,需要在编译选项中增加 -g 使编译器生成定位信息,从而在报告中显示文件名行号等信息。
表1 算子编译选项配置表

硬件型号

算子类型

编译选项

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

Vector算子

dav-c220-vec

Cube算子

dav-c220-cube

Mix融合算子

dav-c220

Atlas 推理系列产品(Ascend 310P处理器)

-

dav-m200

不同算子工程添加编译选项的位置不同,下面以内核调用符场景msOpGen算子工程编译场景准备为例进行介绍:

  • 内核调用符场景
    • 算子代码的编译选项需添加 -g --cce-enable-sanitizer。
      编辑样例工程目录下的“cmake/npu/CMakeLists.txt”文件,单击LINK参考核函数开发和运行验证的完整样例。
      target_compile_options(${smoke_testcase}_npu PRIVATE
                           -O2
                           -std=c++17
                           --cce-enable-sanitizer
                           -g
      )

      增加 --cce-enable-sanitizer 选项代表使能异常检测。

      为了在异常报告输出时显示异常发生的具体位置,增加 -g 选项使编译器生成定位信息,从而在报告中显示文件名行号等信息。

      开启-O2后可能会导致编译器对某些代码进行优化,造成行号被异常报告为0,此时,需将-O2改为-O0,通过-O0关闭优化获取正确定位信息。

    • 链接阶段需增加target_link_options选项,主要配置--cce-enable-sanitizer和--cce-aicore-arch={ARCH}
      编辑样例工程目录下的“cmake/npu/CMakeLists.txt”文件。
      target_link_options(${smoke_testcase}_npu PRIVATE
          --cce-fatobj-link
          --cce-enable-sanitizer
          --cce-aicore-arch={ARCH}   # 此处{ARCH}需替换为实际使用的硬件型号和算子类型对应的编译选项,具体请参见表1,例如--cce-aicore-arch=dav-c220-vec
      )
    • 启用msSanitizer检测工具时需要加载NPU侧可执行文件<kernel_name>_npu,该文件的获取可参考核函数运行验证简介
  • msOpGen算子工程编译场景
    • op_kernel侧编译选项中添加-sanitizer选项,具体请参考支持自定义编译选项
    • 编辑样例工程目录下的“op_kernel/CMakeLists.txt”文件。
      add_ops_compile_options(ALL OPTIONS -sanitizer)
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词