MindStudio Sanitizer 版本说明

版本配套说明

产品版本信息

产品名称 产品版本 版本类型
msSanitizer 26.0.0 内测版本
msSanitizer 8.3.0 正式版本

相关产品版本配套说明

msSanitizer版本 CANN版本 Python版本 json版本 securec版本 makeself版本 llvm-project版本
26.0.0 推荐9.0.0及以上 推荐 Python 3.11及以上 v3.12.0及以上 v1.1.16及以上 release-2.5.0及以上 19.1.7
8.3.0 8.2.RC1及以上 推荐 Python 3.11及以上 v3.12.0及以上 v1.1.16及以上 release-2.5.0及以上 19.1.7

版本兼容性说明

26.0.0

  1. 适配毕昇编译器新增的 --cce-use-legacy-mixkernel-mangling 编译选项。
  2. 适配多种新增芯片规格型号,并兼容 CANN 包芯片标识变更。

特性变更说明

26.0.0

一、新增说明

功能类:

  • 检测功能:
  1. 支持 AscendC 单目、双目计算类以及搬运类 API 中 LocalTensor 的越界检测。
  2. 支持 SIMT 和 Main-Scalar 流水间的内存踩踏检测。
  3. 支持 SIMTR VF 内线程间竞争检测。
  4. 支持冗余SET_FLAG指令检测。
  5. 新增大量核内、核间同步指令的插桩和处理,增强竞争检测能力。新增指令如下:SET_FLAG/WAIT_FLAG/SET_FLAGI/WAIT_FLAGI/HSET/HWAIT/GET_BUF/RLS_BUF。
  • 用户界面:
  1. 当前已支持检测过程中显示 kernel 信息,并在检测完成后会提示用户是否检测出异常。
  2. 新增 --demangle 命令行选项,用于控制用户界面中函数名的显示格式。
  3. 支持开始时获取实时寄存器状态,并支持程序结束时检查寄存器默认值。
  • 扩展能力:
  1. kernel 侧 mstx 接口新增了针对核间 barrier 和 set_flag/wait_flag语义的上报接口。
  2. 现在 kernel 侧 mstx 接口通过 sanitizer_report.h 头文件进行开放,用户可自定义接入。
  3. mstx 中内存池信息上报接口现已去除region和heap的绑定限制,支持region直接注册。

构建发布类:

  1. 增加debug编译功能,支持VSCode断点调试。
  2. 修改root用户安装时对文件夹的最小权限要求为700。
  3. 解决UT在较新的GCC 11.x版本编译失败问题,适配GCC 11.x版本。
  4. 适配CANN镜像GCC 12.x变更
  5. 优化UT依赖下载,速度提升10倍,彻底解决概率失败问题。
  6. UT编译默认启用debug编译模式。
  7. 安装包名称统一整改。
  8. 打包新增 sanitizer_report.h 头文件。

文档说明类:

  1. 文档全面优化重构,提升易用性。

二、删除说明

无相关删除变更。

三、Bugfix

  1. 修复simt ldk/stk无指令落盘问题。
  2. 修改文件路径使用前未规范化及头文件引入顺序不当问题。
  3. 修复simt ub范围建模错误问题,可能导致工具漏报ub越界。
  4. 修复调用栈回溯的命令行选项名称不符合业界习惯的问题,更改命令行选项名称。
  5. 修复load store指令地址空间为INVALID问题。
  6. 修复ND NZ api预处理错误问题,可能导致误报内存越界。
  7. 修复竞争和同步检测异常调用栈没有屏蔽 AscendC API 内部实现的问题。
  8. 修复线程间踩踏在线检测算法中不正确使用同步指令的问题。
  9. 修复软同步检测算法死锁问题,可能导致竞争检测漏报。
  10. 修复多算子场景下同步检测算法未重置导致的误报问题。
  11. LD/LD_IO/ST/ST_IO/STI_IO指令解析修正,解决非对齐检测逻辑丢失的问题。
  12. 修复算子检测结束后的 summary 显示错误的问题。
  13. 修复mix算子链接时blockIdx函数计算错误问题。
  14. 修复特定芯片下,动态插桩后算子运行时报LOAD2D address overflow错误。
  15. 修复 DataCopy 指令非对齐检测重复报告的问题。
  16. 修复双页表区间gm地址不一致导致内存告警误报的问题。
  17. 修复simt算子多线程踩踏漏报。
  18. 修复get_buf rls_buf指令建模错误问题。
  19. 优化create_folder函数,仅在创建完目录后修改文件夹属组和权限。
  20. 修复某些场景下工具提前退出的问题。
  21. 修复pipe-s和其他流水间竞争漏报问题。

8.3.0

一、新增说明

首次发布,新增功能点如下:

  1. 内存检测:检测 Global Memory 与 Local Memory 中的越界访问、未对齐访问等内存异常。
  2. 竞争检测:检测并行计算环境中因并发内存访问引发的数据竞争问题。
  3. 未初始化检测:检测因使用未初始化变量导致的内存读取异常。
  4. 同步检测:检测 Ascend C 算子中未配对的 SetFlag/WaitFlag 指令。

二、删除说明

无相关删除变更。

三、Bugfix

无相关Bugfix变更。