MindStudio Sanitizer Release Notes
Version Mapping
Product Version
| Product Name | Version | Version Type |
|---|---|---|
| msSanitizer | 26.0.0 | Internal test version |
| msSanitizer | 8.3.0 | Official version |
Related Product Versions
| msSanitizer Version | CANN Version | Python version | JSON Version | SecureC Version | Makeself Version | llvm-project Version |
|---|---|---|---|---|---|---|
| 26.0.0 | 9.0.0 or later is recommended. | Python 3.11 or later is recommended. | v3.12.0 or later | v1.1.16 or later | release-2.5.0 or later | 19.1.7 |
| 8.3.0 | 8.2.RC1 or later | Python 3.11 or later is recommended. | v3.12.0 or later | v1.1.16 or later | release-2.5.0 or later | 19.1.7 |
Version Compatibility
26.0.0
- Adapted to the new
--cce-use-legacy-mixkernel-manglingcompilation option of the BiSheng Compiler. - Added compatibility with multiple new chip specifications and model variants and updated to accommodate changes in chip identification within CANN packages.
Feature Updates
26.0.0
1. New Features
Function:
- Check function:
- Added out-of-bounds check support for
LocalTensoracross AscendC monocular and binocular computation APIs as well as data movement APIs. - Added support for memory corruption check between SIMT and Main-Scalar pipelines.
- Added support for inter-thread race check within a SIMTR VF.
- Added support for redundancy check of the
SET_FLAGinstruction. - Added instrumentation and processing for a large number of intra-core and inter-core synchronization instructions to enhance race check capabilities. Added commands
SET_FLAG/WAIT_FLAG/SET_FLAGI/WAIT_FLAGI/HSET/HWAIT/GET_BUF/RLS_BUF.
- UI:
- Added support for displaying kernel information during check. Upon completion of check, the user will be prompted to indicate whether any exceptions were detected.
- Added the
--demanglecommand line option to control the display format of function names in the user interface. - Added support for obtaining the real-time register status at the start and checking the default register values at the end of the program.
- Scalability:
- Added the MSTX interface on the kernel for reporting inter-core barrier and
set_flag/wait_flagsemantics. - Exposed kernel-side MSTX interface via
sanitizer_report.hheader, enabling user-defined integration. - Removed the restriction on binding regions and heaps in the memory pool information reporting interface of MSTX, allowing direct region registration.
Build and release:
- Added the debug compilation function to support VS Code breakpoint debugging.
- Changed the minimum permission required by the root user on folders during installation to
700. - Resolved the issue of UT compilation failures in the later GCC 11.x version.
- Adapted to the GCC 12.x changes in the CANN image.
- Optimized the download of UT dependencies, increasing the speed by 10 times and completely resolving the issue of occasional failures.
- Enabled the debug compilation mode by default for UT compilation.
- Standardized the installation package names.
- Added the sanitizer_report.h header file to the package.
Document description:
- Comprehensively optimized and reconstructed the documents to improve usability.
2. Deleted Features
None
3. Bug Fixes
- Resolved the issue where SIMT LDK/STK failed to persist to drives through instructions.
- Resolved the issue where file paths were not standardized before use and the sequence of including header files was incorrect.
- Resolved the issue with SIMT UB range modeling, which may cause the tool to miss reporting UB out-of-bounds errors.
- Changed the name of the command line option for call stack backtracking to comply with industry conventions.
- Resolved the issue where the address space of the
load storeinstruction was invalid. - Resolved the issue with ND NZ API preprocessing, which may cause false positives of memory out-of-bounds errors.
- Resolved the issue where the internal implementation of AscendC APIs was not masked in the abnormal call stack for race and synchronization checks.
- Resolved an issue where synchronization instructions were incorrectly used in the online check algorithm for inter-thread corruption.
- Resolved the deadlock issue in the soft synchronization check algorithm, which may cause false negatives in race check.
- Resolved the issue of false positives caused by the synchronization check algorithm not being reset in multi-operator scenarios.
- Corrected the parsing of
LD,LD_IO,ST,ST_IO, andSTI_IOinstructions to resolve the issue of missing unalignment check logic. - Resolved the issue of incorrect summary display after operator check is complete.
- Resolved the issue of incorrect calculation of the blockIdx function during the linking of the Mix operator.
- Resolved the issue of the "LOAD2D address overflow" error reported during operator runtime after dynamic instrumentation on specific chips.
- Resolved the issue of repeated reporting of unalignment check for the DataCopy instruction.
- Resolved the issue of false memory alarms caused by inconsistent GM addresses in the dual-page table range.
- Resolved the issue of missing reporting of multi-thread corruption for the SIMT operator.
- Resolved the modeling error of the
get_buf rls_bufinstruction. - Optimized the
create_folderfunction to modify the owner group and permission of the folder only after the folder is created. - Resolved the issue that the tool exits in advance in some scenarios.
- Resolved the issue of missing reporting of competition between pipe-s and other pipelines.
8.3.0
1. New Features
This issue is the first official release. The following features are added:
- Memory check: detects memory exceptions in global memory and local memory, such as out-of-bounds access and unaligned access.
- Race check: checks data race issues caused by concurrent memory access in a parallel computing environment.
- Uninitialization check: checks memory read exceptions caused by the use of uninitialized variables.
- Synchronization check: checks for unpaired
SetFlag/WaitFlaginstructions in Ascend C operators.
2. Deleted Features
None
3. Bug Fixes
None