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
- 适配毕昇编译器编译选项变更。
- 适配多种新增芯片规格型号,并兼容CANN芯片标识变更。
特性变更说明
26.0.0
一、新增说明
msDebug
功能类:
- 支持不设置kernel object路径进行上板调试
- 读内存时支持跳过元素个数展示结果
- 支持shared_memory算子场景的调试
- 支持asc编译的算子的coredump调试与上板调试
- 支持从host传入kernel的结构体变量打印
- coredump解析功能增加非inline编译下的调用栈回溯
构建发布类:
- 修改root用户安装时对文件夹的最小权限要求为700
- 解决UT编译在GCC7/12上不通过问题
- 安装包名称统一整改
- 解决编译时找错libtinfo动态库路径问题
- 新增libform.so.5的交付件,解决某些环境构建对该文件的依赖
- 支持Unix Makefiles构建
文档说明类:
- 文档全面优化重构,提升易用性
msOpProf
功能类:
- 功能新增:
- 支持shmem算子库、asc算子库的性能调优。
- 支持自定义通算融合框架的性能分析能力,可通过AscendC API打点生成通算流水图。
- 支持Scalar性能数据精细化分析,可指导判断Scalar单元具体耗时阻塞位置,性能数据文件及计算内存热力图-内存负载分析中拓展相关性能指标。
- 支持SIMT VF指令Stall分析与寄存器利用率展示,上板代码热点图中拓展相关性能指标。
- 支持SIMT VF指令发射效率指标统计及负载均衡分析,计算内存热力图-核间负载分析中拓展相关性能指标。
- 优化:
- 根据不同芯片支持功能,优化help信息展示。
- 优化部分芯片型号的理论带宽数值、性能指标公式。
- 优化仿真流水图的泳道排序及指令颜色划分。
- 优化代码热点图的指令信息排序。
- 提升软件安全,变更构建产物、落盘文件权限及属组。
构建发布类:
- 优化依赖仓下载功能,10倍提升下载速度。
- 增加debug编译选项,支持编译产物的断点调试。
- 修改安装包名称为mindstudio-opprof_linux.run。
文档说明类:
- 刷新README链接,在docs仓新增用户指南等其余文档和图片。
- 重命名安装指南,改为msopprof_install_guide.md。
- 安装指南和快速入门内容修改优化。安装文档增加pigz依赖提示。
msSanitizer
功能类:
- 检测功能:
- 支持 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 头文件。
文档说明类:
- 文档全面优化重构,提升易用性。
msOpGen
功能类:
- 适配AscendC算子新工程。
二、删除说明
无相关删除说明
三、Bugfix
msDebug
- 修复某些场景下,finish命令导致工具挂掉问题
- mix算子场景下,ascend info cores命令回显多个
* - 优化var命令gm等
uint8_t *变量打印展示乱码问题 - 优化部分功能的错误提示
msSanitizer
- 修复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
一、新增说明
msDebug
首次发布,功能点如下:
- 上板调试:支持断点展示、变量打印、寄存器打印、内存打印、代码行级别单步调试、核信息展示与切换、调用栈展示。
- coredump文件解析:支持调用栈展示、寄存器展示、变量展示
msKL
首次发布,功能点如下:
- 提供tiling_func和get_kernel_from_binary接口,支持调用msOpGen工程中的tiling函数以及用户自定义的Kernel函数,便于快速调测。
- 提供了autotune系列接口,支持对模板库算子进行代码替换、编译、运行以及性能对比,便于高效调优。
msKPP
首次发布,新增功能点如下:
- 算子特性建模:基于msKPP提供的接口模拟出算子耗时。
- 算子计算搬运规格分析:生成搬运流水统计文件和指令信息统计文件,可查看msKPP建模结果。
- 极限性能分析:生成文件指令流水图和指令占比饼图,可查看msKPP建模结果。
- 算子tiling初步设计:能够快速筛选出几种较优的tiling策略。
msOpGen
首次发布,新增功能点如下:
- 基于算子原型定义输出算子工程。
- 基于性能仿真环境生成的dump数据文件输出算子仿真流水图文件。
- 算子工程编译部署。
msOpProf
首次发布,新增功能点如下:
msOpProf模式:
- 计算内存热力图:以资源维度展示算子基础信息、计算负载分析和内存负载分析的数据,协助开发者以全局视角识别资源瓶颈。
- Roofline瓶颈分析图:构建出处理器的性能模型,然后利用该性能模型快速评估出算子的理论性能极限,协助开发者快速识别瓶颈类型。
- 通算流水图(通算融合算子):直观看到通算运行情况、指令耗时等信息,协助开发者识别通算瓶颈。支持通过AscendC API进行性能打点,采集代码在算子block上的实际耗时情况,用于通算算子性能的分析和优化。
- Pipe流水图:直观观察算子各个Pipe的运行情况。
- 算子代码热点图:支持查看算子源码与指令集的映射关系、耗时情况等功能,可协助开发者识别热点代码分布,并分析热点函数优化的可行性。
- Cache 热力图:可视化呈现Cache热力图,可显示对应指令信息,以优化L2Cache命中率。
- 性能数据文件:从多个性能指标维度展示算子详细性能数据。
msOpProf simulator模式:
- 指令流水图:以指令维度展示时序关系,并关联调用栈快速定位瓶颈位置。
- 算子代码热点图:支持查看算子源码与指令集的映射关系、耗时情况等功能,可协助开发者识别热点代码分布,并分析热点函数优化的可行性。
- 内存通路吞吐率波形图:支持查看算子MTE日志通路的内存带宽在时序上的统计分析能力,可协助开发者识别算子各阶段的带宽使用状况,并分析带宽优化的可行性。
msSanitizer
首次发布,新增功能点如下:
- 内存检测:检测 Global Memory 与 Local Memory 中的越界访问、未对齐访问等内存异常。
- 竞争检测:检测并行计算环境中因并发内存访问引发的数据竞争问题。
- 未初始化检测:检测因使用未初始化变量导致的内存读取异常。
- 同步检测:检测 Ascend C 算子中未配对的 SetFlag/WaitFlag 指令。
二、删除说明
无相关删除变更
三、Bugfix
无相关Bugfix变更