昇腾社区首页
中文
注册

功能特性

工具特性

mssanitizer通过不同子工具提供了不同类型的检测功能,目前已支持的功能如下:
  • memcheck:内存操作与泄漏检测工具,详细可参考内存检测
  • racecheck:竞争检测工具,详细可参考竞争检测

mssanitizer支持Ascend C算子(包括Vector及Cube算子)内存检测,可参考针对Ascend C算子内存检测,同时也支持CANN软件栈内存检测,详细可参考针对CANN软件栈内存检测

命令汇总

可以通过运行以下命令来调用mssanitizer工具,详细的参数选项及其默认值,请参考表1表2

mssanitizer <options> <kernel_name>_npu

表1 通用参数说明

参数名称

参数描述

参数取值

是否必选

-v,--version

查询mssanitizer工具版本。

-

-t,--tool

指定异常检测的子工具。

  • memcheck:内存检测(默认)
  • racecheck:竞争检测

--log-file

指定检测报告输出到文件。

{file_name},如配置为test_log。

说明:
  • 仅支持数字、大小写字母和- . / _四种符号。
  • 为避免日志泄露风险,建议限制该文件权限,确保只有授权人员才能访问该文件。

--log-level

指定检测报告输出等级。

  • info:输出info/warn/error级别的运行信息
  • warn:输出warn/error级别的运行信息(默认)
  • error:输出error级别的运行信息

-h,--help

输出帮助信息。

-

表2 内存检测参数说明

参数名称

参数描述

参数取值

是否必选

--leak-check

使能内存泄漏检测。

  • yes
  • no(默认)

--check-device-heap

使能device侧内存检测。

  • yes
  • no(默认)

--check-cann-heap

使能CANN软件栈内存检测。

  • yes
  • no(默认)

--check-unused-memory

使能内存分配未使用检测。

  • yes
  • no(默认)

结果件说明

结果件名称

说明

mssanitizer_{TIMESTAMP}_{PID}.log

msSanitizer工具运行过程中,在当前路径下生成的工具日志,TIMESTAMP由当前时间戳和当前使用的检测工具的PID组成。

kernel.{PID}.o

msSanitizer工具运行过程中,在当前路径下生成的算子缓存文件,PID为当前使用的检测工具的PID,该算子缓存文件用于解析异常调用栈。

  • 正常情况下,msSanitizer工具退出时会自动清理该算子缓存文件。
  • 当msSanitizer工具异常退出(如被用户“CTRL+C” 中止)时,该算子缓存文件会保留在文件系统中。因为该算子缓存文件包含算子的调试信息,建议限制其他用户对此文件的访问权限,并在检测工具运行完成后及时删除。