MindStudio Operator Tools 版本说明

版本配套说明

产品版本信息

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

相关产品版本配套说明

msOT版本 CANN版本 Python版本
26.0.0 推荐9.0.0及以上 推荐 Python 3.11及以上
8.3.0 8.2.RC1及以上 推荐 Python 3.11及以上

版本兼容性

26.0.0

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

特性变更说明

26.0.0

一、新增说明

msDebug

功能类:

  1. 支持不设置kernel object路径进行上板调试
  2. 读内存时支持跳过元素个数展示结果
  3. 支持shared_memory算子场景的调试
  4. 支持asc编译的算子的coredump调试与上板调试
  5. 支持从host传入kernel的结构体变量打印
  6. coredump解析功能增加非inline编译下的调用栈回溯

构建发布类:

  1. 修改root用户安装时对文件夹的最小权限要求为700
  2. 解决UT编译在GCC7/12上不通过问题
  3. 安装包名称统一整改
  4. 解决编译时找错libtinfo动态库路径问题
  5. 新增libform.so.5的交付件,解决某些环境构建对该文件的依赖
  6. 支持Unix Makefiles构建

文档说明类:

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

功能类:

  • 功能新增:
  1. 支持shmem算子库、asc算子库的性能调优。
  2. 支持自定义通算融合框架的性能分析能力,可通过AscendC API打点生成通算流水图。
  3. 支持Scalar性能数据精细化分析,可指导判断Scalar单元具体耗时阻塞位置,性能数据文件及计算内存热力图-内存负载分析中拓展相关性能指标。
  4. 支持SIMT VF指令Stall分析与寄存器利用率展示,上板代码热点图中拓展相关性能指标。
  5. 支持SIMT VF指令发射效率指标统计及负载均衡分析,计算内存热力图-核间负载分析中拓展相关性能指标。
  • 优化:
  1. 根据不同芯片支持功能,优化help信息展示。
  2. 优化部分芯片型号的理论带宽数值、性能指标公式。
  3. 优化仿真流水图的泳道排序及指令颜色划分。
  4. 优化代码热点图的指令信息排序。
  5. 提升软件安全,变更构建产物、落盘文件权限及属组。

构建发布类:

  1. 优化依赖仓下载功能,10倍提升下载速度。
  2. 增加debug编译选项,支持编译产物的断点调试。
  3. 修改安装包名称为mindstudio-opprof_linux.run。

文档说明类:

  1. 刷新README链接,在docs仓新增用户指南等其余文档和图片。
  2. 重命名安装指南,改为msopprof_install_guide.md。
  3. 安装指南和快速入门内容修改优化。安装文档增加pigz依赖提示。
msSanitizer

功能类:

  • 检测功能:
  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. 文档全面优化重构,提升易用性。
msOpGen

功能类:

  1. 适配AscendC算子新工程。

二、删除说明

无相关删除说明

三、Bugfix

msDebug
  1. 修复某些场景下,finish命令导致工具挂掉问题
  2. mix算子场景下,ascend info cores命令回显多个*
  3. 优化var命令gm等uint8_t *变量打印展示乱码问题
  4. 优化部分功能的错误提示
msSanitizer
  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

一、新增说明

msDebug

首次发布,功能点如下:

  1. 上板调试:支持断点展示、变量打印、寄存器打印、内存打印、代码行级别单步调试、核信息展示与切换、调用栈展示。
  2. coredump文件解析:支持调用栈展示、寄存器展示、变量展示
msKL

首次发布,功能点如下:

  1. 提供tiling_func和get_kernel_from_binary接口,支持调用msOpGen工程中的tiling函数以及用户自定义的Kernel函数,便于快速调测。
  2. 提供了autotune系列接口,支持对模板库算子进行代码替换、编译、运行以及性能对比,便于高效调优。
msKPP

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

  1. 算子特性建模:基于msKPP提供的接口模拟出算子耗时。
  2. 算子计算搬运规格分析:生成搬运流水统计文件和指令信息统计文件,可查看msKPP建模结果。
  3. 极限性能分析:生成文件指令流水图和指令占比饼图,可查看msKPP建模结果。
  4. 算子tiling初步设计:能够快速筛选出几种较优的tiling策略。
msOpGen

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

  1. 基于算子原型定义输出算子工程。
  2. 基于性能仿真环境生成的dump数据文件输出算子仿真流水图文件。
  3. 算子工程编译部署。
msOpProf

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

msOpProf模式:

  1. 计算内存热力图:以资源维度展示算子基础信息、计算负载分析和内存负载分析的数据,协助开发者以全局视角识别资源瓶颈。
  2. Roofline瓶颈分析图:构建出处理器的性能模型,然后利用该性能模型快速评估出算子的理论性能极限,协助开发者快速识别瓶颈类型。
  3. 通算流水图(通算融合算子):直观看到通算运行情况、指令耗时等信息,协助开发者识别通算瓶颈。支持通过AscendC API进行性能打点,采集代码在算子block上的实际耗时情况,用于通算算子性能的分析和优化。
  4. Pipe流水图:直观观察算子各个Pipe的运行情况。
  5. 算子代码热点图:支持查看算子源码与指令集的映射关系、耗时情况等功能,可协助开发者识别热点代码分布,并分析热点函数优化的可行性。
  6. Cache 热力图:可视化呈现Cache热力图,可显示对应指令信息,以优化L2Cache命中率。
  7. 性能数据文件:从多个性能指标维度展示算子详细性能数据。

msOpProf simulator模式:

  1. 指令流水图:以指令维度展示时序关系,并关联调用栈快速定位瓶颈位置。
  2. 算子代码热点图:支持查看算子源码与指令集的映射关系、耗时情况等功能,可协助开发者识别热点代码分布,并分析热点函数优化的可行性。
  3. 内存通路吞吐率波形图:支持查看算子MTE日志通路的内存带宽在时序上的统计分析能力,可协助开发者识别算子各阶段的带宽使用状况,并分析带宽优化的可行性。
msSanitizer

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

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

二、删除说明

无相关删除变更

三、Bugfix

无相关Bugfix变更