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
- 适配毕昇编译器新增的 --cce-use-legacy-mixkernel-mangling 编译选项。
- 适配多种新增芯片规格型号,并兼容 CANN 包芯片标识变更。
特性变更说明
26.0.0
一、新增说明
功能类:
- 检测功能:
- 支持 AscendC 单目、双目计算类以及搬运类 API 中 LocalTensor 的越界检测。
- 支持 SIMT 和 Main-Scalar 流水间的内存踩踏检测。
- 支持 SIMTR VF 内线程间竞争检测。
- 支持冗余SET_FLAG指令检测。
- 新增大量核内、核间同步指令的插桩和处理,增强竞争检测能力。新增指令如下:SET_FLAG/WAIT_FLAG/SET_FLAGI/WAIT_FLAGI/HSET/HWAIT/GET_BUF/RLS_BUF。
- 用户界面:
- 当前已支持检测过程中显示 kernel 信息,并在检测完成后会提示用户是否检测出异常。
- 新增 --demangle 命令行选项,用于控制用户界面中函数名的显示格式。
- 支持开始时获取实时寄存器状态,并支持程序结束时检查寄存器默认值。
- 扩展能力:
- kernel 侧 mstx 接口新增了针对核间 barrier 和 set_flag/wait_flag语义的上报接口。
- 现在 kernel 侧 mstx 接口通过 sanitizer_report.h 头文件进行开放,用户可自定义接入。
- mstx 中内存池信息上报接口现已去除region和heap的绑定限制,支持region直接注册。
构建发布类:
- 增加debug编译功能,支持VSCode断点调试。
- 修改root用户安装时对文件夹的最小权限要求为700。
- 解决UT在较新的GCC 11.x版本编译失败问题,适配GCC 11.x版本。
- 适配CANN镜像GCC 12.x变更
- 优化UT依赖下载,速度提升10倍,彻底解决概率失败问题。
- UT编译默认启用debug编译模式。
- 安装包名称统一整改。
- 打包新增 sanitizer_report.h 头文件。
文档说明类:
- 文档全面优化重构,提升易用性。
二、删除说明
无相关删除变更。
三、Bugfix
- 修复simt ldk/stk无指令落盘问题。
- 修改文件路径使用前未规范化及头文件引入顺序不当问题。
- 修复simt ub范围建模错误问题,可能导致工具漏报ub越界。
- 修复调用栈回溯的命令行选项名称不符合业界习惯的问题,更改命令行选项名称。
- 修复load store指令地址空间为INVALID问题。
- 修复ND NZ api预处理错误问题,可能导致误报内存越界。
- 修复竞争和同步检测异常调用栈没有屏蔽 AscendC API 内部实现的问题。
- 修复线程间踩踏在线检测算法中不正确使用同步指令的问题。
- 修复软同步检测算法死锁问题,可能导致竞争检测漏报。
- 修复多算子场景下同步检测算法未重置导致的误报问题。
- LD/LD_IO/ST/ST_IO/STI_IO指令解析修正,解决非对齐检测逻辑丢失的问题。
- 修复算子检测结束后的 summary 显示错误的问题。
- 修复mix算子链接时blockIdx函数计算错误问题。
- 修复特定芯片下,动态插桩后算子运行时报LOAD2D address overflow错误。
- 修复 DataCopy 指令非对齐检测重复报告的问题。
- 修复双页表区间gm地址不一致导致内存告警误报的问题。
- 修复simt算子多线程踩踏漏报。
- 修复get_buf rls_buf指令建模错误问题。
- 优化create_folder函数,仅在创建完目录后修改文件夹属组和权限。
- 修复某些场景下工具提前退出的问题。
- 修复pipe-s和其他流水间竞争漏报问题。
8.3.0
一、新增说明
首次发布,新增功能点如下:
- 内存检测:检测 Global Memory 与 Local Memory 中的越界访问、未对齐访问等内存异常。
- 竞争检测:检测并行计算环境中因并发内存访问引发的数据竞争问题。
- 未初始化检测:检测因使用未初始化变量导致的内存读取异常。
- 同步检测:检测 Ascend C 算子中未配对的 SetFlag/WaitFlag 指令。
二、删除说明
无相关删除变更。
三、Bugfix
无相关Bugfix变更。