mssanitizer是基于昇腾AI处理器的一个异常检测工具,包含了内存检测和竞争检测两个子工具。
msSanitizer工具不支持对多线程算子、二级指针类算子及使用了掩码的向量类计算指令进行检测。
mssanitizer通过不同子工具提供了不同类型的检测功能,目前已支持的功能如下:
使用场景 |
使用说明 |
使用示例 |
---|---|---|
算子内存检测 |
msSanitizer支持内核调用符调用的Ascend C算子(包括Vector和Cube算子)内存和竞争的检测,可参考检测内核调用符方式的Ascend C算子。 |
|
算子竞争检测 |
||
CANN软件栈的内存检测 |
支持CANN软件栈内存检测,详细可参考检测CANN软件栈的内存。 |
可以通过运行以下命令来调用mssanitizer工具,详细的参数选项及其默认值,请参考表2和表3。
mssanitizer <options> <user_program> <user_options>
参数名称 |
参数描述 |
参数取值 |
是否必选 |
---|---|---|---|
-v,--version |
查询mssanitizer工具版本。 |
- |
否 |
-t,--tool |
指定异常检测的子工具。 |
|
否 |
--log-file |
指定检测报告输出到文件。 |
{file_name},如配置为test_log。 说明:
|
否 |
--log-level |
指定检测报告输出等级。 |
|
否 |
-h,--help |
输出帮助信息。 |
- |
否 |
结果件名称 |
说明 |
---|---|
mssanitizer_{TIMESTAMP}_{PID}.log |
msSanitizer工具运行过程中,在当前路径下生成的工具日志,TIMESTAMP为当前时间戳,PID为当前检测工具的PID。 |
kernel.{PID}.o |
msSanitizer工具运行过程中,在当前路径下生成的算子缓存文件,PID为当前使用的检测工具的PID,该算子缓存文件用于解析异常调用栈。
|