MindStudio Profiler(msProf,模型调优工具)提供了AI任务运行性能数据、昇腾AI处理器系统数据等性能数据的采集和解析功能,这些功能侧重不同的训练或推理场景,可以定位模型训练或推理中的性能问题。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs: 资料低错修改 Co-authored-by: cai-weiwei1989<734267852@qq.com> # message auto-generated for no-merge-commit merge: !173 merge master into master docs: 资料低错修改 Created-by: cai-weiwei1989 Commit-by: cai-weiwei1989 Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** - **修改内容:** 1、CONTRIBUTING.md跳转问题修改 2、docs/zh/getting_started/msprof_install_guide.md安装指南将CANN安装方式改为一句话描述,以本仓安装方式描述为主 3、README.md资料写作风格统一 4、其他文档为模板风格修改 ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++: - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++: - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!173 | 3 个月前 | |
[performance]enhanced the process of ccu max delay to lowered the time complexity from o(mn) to o(m+n) Co-authored-by: xieanran<694099604@qq.com> # message auto-generated for no-merge-commit merge: !343 merge master into master [performance]enhanced the process of ccu max delay to lowered the time complexity from o(mn) to o(m+n) Created-by: SoraAzzz Commit-by: xieanran Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** ccu 寻找max delay慢,需要优化 - **修改内容:** 优化了 CCU 最大延迟通道查找算法,从 O(mn) 降至 O(m+n),新增一条 channelId=4 的测试数据 后续优化方向:看看能不能压缩channel id,目前看虽然算法是o(m+n),已降至线性,其次可以看下能否优化匹配算法本身。 ---- ## 2. 功能验证 - [x] **功能自验**  - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [x] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [x] **不允许私有的文件操作,需要使用公共模块的安全函数** - [x] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [x] **数组访问需要校验越界场景,对除法需要做除零校验** - [x] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [x] **需要充分进行接口输入和返回值异常情况的校验** - [x] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [x] **指针使用前需要判空** - [x] **数值计算校验溢出和反转** - [x] **不可存在内存泄漏(异常场景需要释放内存)** - [x] **类型转换不能出现数据截断** - [x] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [x] **拷贝内存时,目的缓冲区不小于源缓冲区** - [x] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [x] **资料修改** - [x] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!343 | 3 天前 | |
[msprof_master]msprof编包支持根据tag名刷新run+whl包名 Co-authored-by: yuliangbin<y1416490440@163.com> # message auto-generated for no-merge-commit merge: !182 merge add_tag_version_info into master [msprof_master]msprof编包支持根据tag名刷新run+whl包名 Created-by: yu_liangbin Commit-by: yuliangbin Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** msprof编的解析whl包需要根据version.info文件刷新版本号 - **修改内容:** 1. set_up.py读取whl_version环境变量,刷新到whl包的version; 2. whl包安装适配; 3. 将version刷新到version.info中; ---- ## 2. 功能验证 - [x] **功能自验** 1. 执行build.sh编包  2. 安装run包   3. version.info刷新  - [x] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!182 | 2 个月前 | |
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> | 6 个月前 | |
docs:资料优化 Co-authored-by: cai-weiwei1989<734267852@qq.com> # message auto-generated for no-merge-commit merge: !318 merge master into master docs:资料优化 Created-by: cai-weiwei1989 Commit-by: cai-weiwei1989 Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** - **修改内容:** 1、README.md补充版本说明链接以及更新快速入门链接 2、docs/zh/user_guide/msprof_parsing_instruct.md补充A5ccu不支持通信数据的说明 3、docs/zh/user_guide/profile_data_file_references.md中task_time(任务调度信息)表格字段与截图保持一致 4、其他字段问题修改 ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [x] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!318 | 9 天前 | |
docs:资料优化 Co-authored-by: cai-weiwei1989<734267852@qq.com> # message auto-generated for no-merge-commit merge: !318 merge master into master docs:资料优化 Created-by: cai-weiwei1989 Commit-by: cai-weiwei1989 Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** - **修改内容:** 1、README.md补充版本说明链接以及更新快速入门链接 2、docs/zh/user_guide/msprof_parsing_instruct.md补充A5ccu不支持通信数据的说明 3、docs/zh/user_guide/profile_data_file_references.md中task_time(任务调度信息)表格字段与截图保持一致 4、其他字段问题修改 ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [x] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!318 | 9 天前 | |
对于hccl数据 dataSize 大于U32Max的内容,统一显示为invalid,并避免相关数值参与计算 Co-authored-by: Seanesmhxocism<617225691@qq.com> # message auto-generated for no-merge-commit merge: !305 merge local into master 对于hccl数据 dataSize 大于U32Max的内容,统一显示为invalid,并避免相关数值参与计算 Created-by: Seanesmhxocism Commit-by: Seanesmhxocism Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 1、hccl侧反馈,dataSize在数据取不到情况下,会设置默认值U32Max。这是非法值,不应该显示为U32Max,且会误导用户 2、sql注入问题,pre-commit有大量错误识别 - **修改内容:** 1、对dataSize大于U32Max的内容统一在导出时刷新为invalid。并在带宽计算时,识别dataSize大于U32Max的内容。  2、屏蔽sql注入问题检测, B608 ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!305 | 20 天前 | |
[docs_fix]修复msprof资料存在的格式问题 Co-authored-by: yuliangbin<y1416490440@163.com> # message auto-generated for no-merge-commit merge: !167 merge docs_fix_402 into master [docs_fix]修复msprof资料存在的格式问题 Created-by: yu_liangbin Commit-by: yuliangbin Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** msprof资料存在1处格式错误 - **修改内容:** 修复msprof资料存在的1处格式错误* ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++: - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++: - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!167 | 3 个月前 | |
[fix]修复run包安装打屏platform子包的具体安装信息问题 Co-authored-by: yuliangbin<y1416490440@163.com> # message auto-generated for no-merge-commit merge: !284 merge fix_build into master [fix]修复run包安装打屏platform子包的具体安装信息问题 Created-by: yu_liangbin Commit-by: yuliangbin Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** msprof run包安装过程中会安装platform-profiler.run子包,目前会打屏platform-profiler.run子包的具体安装信息 - **修改内容:** 将platform-profiler.run子包的具体安装信息静默,只需要关注是否安装成功,具体细节无需关注 ---- ## 2. 功能验证 - [x] **功能自验** 验证结果,安装过程中无platform_profiler.run包的具体安装打屏:  - [x] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!284 | 30 天前 | |
[performance]enhanced the process of ccu max delay to lowered the time complexity from o(mn) to o(m+n) Co-authored-by: xieanran<694099604@qq.com> # message auto-generated for no-merge-commit merge: !343 merge master into master [performance]enhanced the process of ccu max delay to lowered the time complexity from o(mn) to o(m+n) Created-by: SoraAzzz Commit-by: xieanran Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** ccu 寻找max delay慢,需要优化 - **修改内容:** 优化了 CCU 最大延迟通道查找算法,从 O(mn) 降至 O(m+n),新增一条 channelId=4 的测试数据 后续优化方向:看看能不能压缩channel id,目前看虽然算法是o(m+n),已降至线性,其次可以看下能否优化匹配算法本身。 ---- ## 2. 功能验证 - [x] **功能自验**  - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [x] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [x] **不允许私有的文件操作,需要使用公共模块的安全函数** - [x] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [x] **数组访问需要校验越界场景,对除法需要做除零校验** - [x] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [x] **需要充分进行接口输入和返回值异常情况的校验** - [x] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [x] **指针使用前需要判空** - [x] **数值计算校验溢出和反转** - [x] **不可存在内存泄漏(异常场景需要释放内存)** - [x] **类型转换不能出现数据截断** - [x] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [x] **拷贝内存时,目的缓冲区不小于源缓冲区** - [x] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [x] **资料修改** - [x] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!343 | 3 天前 | |
bugfix: 修复ut在arm64上的编译报错 Co-authored-by: Mrtutu<zhangwei983@huawei.com> # message auto-generated for no-merge-commit merge: !178 merge fix_build_bug into master bugfix: 修复ut在arm64上的编译报错 Created-by: kali20gakki1 Commit-by: Mrtutu Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 修改背景 执行 bash scripts/execute_test_case.sh all 时,存在两类问题: 1. analysis 生产代码编译失败。 2. 多个 UT 因测试桩写法不稳定、测试目录残留数据污染而失败。 修改原因 1. analysis/csrc/domain/services/parser/parser_item_factory.h 直接使用了 uint8_t/uint16_t/uint32_t,但缺少 <cstdint> 头文件,导致编译报错。 2. data_process 相关 UT 中,部分 mockcpp 返回值写成了 UINT16_MAX/HOST_ID/INVALID_DEVICE_ID 等整型常量。mockcpp 对返回类型要求严格,这些常量会被推导成 int,与 GetDeviceIdByDevicePath 的真实返回类型 uint16_t 不匹配,导致运行时异常。 3. 多个 data_process UT 依赖直接 mock std::vector::reserve,这类桩方式脆弱、可维护性差,也容易受实现细节影响。 4. test/msprof_cpp/analysis_ut/domain/services/test/ffts_profile_parser_utest.cpp 使用固定相对目录 ./ffts_profile 作为测试数据目录,连续执行或并行执行时容易受到上次残留文件影响,导致用例不稳定。 详细修改点 1. 生产代码修复 - 在 analysis/csrc/domain/services/parser/parser_item_factory.h 增加 #include <cstdint>。 - 这是标准头文件依赖补全,属于真实编译问题修复,不是 UT 定制逻辑。 2. 测试侧统一的 reserve 失败注入方式 - 新增 test/msprof_cpp/analysis_ut/domain/data_process/test/reserve_mock_utils.h。 - 该文件提供测试辅助接口,用于通过 mock Analysis::Utils::Reserve<T> 的方式注入 reserve 失败,而不是直接 mock 容器成员函数。 - 这样做的目的: - 降低对 STL 实现细节的耦合。 - 避免为了测试去修改生产代码。 - 让失败注入方式在 data_process 各用例中保持一致。 3. data_process 相关 UT 替换为新的 reserve mock 方式 - 将 test/msprof_cpp/analysis_ut/domain/data_process/test 下多处 SetReserveFailureForUt 或直接 mock std::vector::reserve 的写法,替换为 reserve_mock_utils.h 提供的统一 helper。 - 这些修改覆盖了 acc_pmu/aicore_freq/api/chip_trains/communication_info/compute_task_info/ddr/fusion_op/hbm/hccl_statistic/hccs/host_usage/llc/netdev_stats/npu_mem/npu_module_mem/npu_op_mem/op_statistic/pcie/qos/sio/soc_bandwidth/step_trace/sys_io/task/unified_pmu 等 测试文件。 - 修改效果: - 保持原测试意图不变。 - 消除对容器成员函数 mock 的不稳定依赖。 - 不影响生产实现。 4. 修复 GetDeviceIdByDevicePath 的 mock 返回类型不匹配 - 在多处 data_process UT 中,将 - returnValue(UINT16_MAX) - returnValue(HOST_ID) - returnValue(INVALID_DEVICE_ID) 统一改为显式 uint16_t 返回,例如 returnValue(static_cast<uint16_t>(UINT16_MAX))。 - 代表文件包括: - test/msprof_cpp/analysis_ut/domain/data_process/test/llc_processor_utest.cpp - test/msprof_cpp/analysis_ut/domain/data_process/test/netdev_stats_processor_utest.cpp - test/msprof_cpp/analysis_ut/domain/data_process/test/metric_processor_utest.cpp - test/msprof_cpp/analysis_ut/domain/data_process/test/pcie_processor_utest.cpp - 以及其他同类测试文件 - 修改效果: - 修复 mockcpp 运行时报错 Returned type does NOT match the method declaration。 - 保证 mock 行为与真实函数签名一致。 5. 修复 FftsProfileParserUTest 的目录污染问题 - 修改 test/msprof_cpp/analysis_ut/domain/services/test/ffts_profile_parser_utest.cpp: - 不再依赖固定目录 ./ffts_profile。 - 改为每个测试用例在 SetUp() 中创建带 pid + test name 的独立目录。 - TearDown() 中清理该独立目录。 - 修改效果: - 避免上一次运行残留文件影响当前用例。 - 避免并行执行时多个用例或多个目标共享同一路径。 - 提升 device_parser_utest 的稳定性。 ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!178 | 2 个月前 | |
[master]新增通信用例+重构st校验基类函数 Co-authored-by: yuliangbin<y1416490440@163.com> # message auto-generated for no-merge-commit merge: !283 merge add_st into master [master]新增通信用例+重构st校验基类函数 Created-by: yu_liangbin Commit-by: yuliangbin Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 老的校验基类与子类之间存在严重的冗余代码,且适配新用例需要增加很多冗余代码,可扩展性差。 - **修改内容:** 1.新增了 communication 场景的 ST 用例。 增加了 test/st/l0_test_ascend_msprof_communication.sh、test/st/src/communication_train.py、test/st/src/l0_test_ascend_msprof_communication.py,同时更新了 test/st/st_case_summary.md,把通信 profiling 场景补进了 ST 覆盖范围。 2.重构了 train.py,改成懒加载导入。 把 torch、ResNet50 等导入从模块顶层移到了具体训练函数里,新增了 communication 对应的入口,避免一启动就加载不需要的训练依赖,也更方便后续扩展不同训练场景。 3.重构了 BaseAscendMsprofChecker,从“子类大量重写”改成“配置驱动”。 新增了类似 EXPECT_DB_TABLES、DISABLED_CHECKS、TIMELINE_CHECKS、*_SPEC 这类配置项,把很多通用校验逻辑收敛到基类里,子类只需要声明自己要校验什么,减少重复代码,后续加新用例也更容易。 4.批量简化了多个 ST checker 子类。 很多 l0/l1 用例里原来只是简单 super() 转发或做少量裁剪的重写被去掉了,改成直接配配置;像 all_switch、all_sys_switch、采样类用例等,都把差异收敛成配置项,整体可维护性更高。 5.加强了 CSV 校验逻辑。 在 test/st/utils/file_check.py 里,check_csv_data_non_negative 不再只校验“存在的交集列”,而是会先检查期望表头是否缺失;缺表头时直接报错,避免 CSV 格式不完整却被误判为通过。 6.补充了表结构元数据。 test/st/utils/table_fields.py 里新增/补充了多个表字段定义,比如 COMMUNICATION_OP.rankSize、ENUM_OVERLAY_ANALYSIS_TYPE、OVERLAP_ANALYSIS、SIO 等,用来支撑新的校验场景。 ---- ## 2. 功能验证 - [x] **功能自验** 本地自验证通过 - [x] **本地自验用例截图**  - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!283 | 11 天前 | |
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> | 6 个月前 | |
【bugfix】[msprof]资料规范优化 Co-authored-by: cai-weiwei1989<734267852@qq.com> | 6 个月前 | |
docs:资料优化 Co-authored-by: cai-weiwei1989<734267852@qq.com> # message auto-generated for no-merge-commit merge: !318 merge master into master docs:资料优化 Created-by: cai-weiwei1989 Commit-by: cai-weiwei1989 Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** - **修改内容:** 1、README.md补充版本说明链接以及更新快速入门链接 2、docs/zh/user_guide/msprof_parsing_instruct.md补充A5ccu不支持通信数据的说明 3、docs/zh/user_guide/profile_data_file_references.md中task_time(任务调度信息)表格字段与截图保持一致 4、其他字段问题修改 ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [x] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!318 | 9 天前 | |
[master]修复4个issue上的资料问题 Co-authored-by: yuliangbin<y1416490440@163.com> # message auto-generated for no-merge-commit merge: !314 merge fix_docs into master [master]修复4个issue上的资料问题 Created-by: yu_liangbin Commit-by: yuliangbin Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 资料部分存在目录结构、文件存放位置不对等问题 - **修改内容:** 1.修改资料首页的目录结构,补充缺失章节 2.文件存放位置修改 ---- ## 2. 功能验证 - [x] **功能自验** - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!314 | 16 天前 | |
update docs router Co-authored-by: fanglanyue<lanyuefang0916@163.com> # message auto-generated for no-merge-commit merge: !148 merge docs_0327 into master update docs router Created-by: fanglanyue0916 Commit-by: fanglanyue Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 资料结构整改后,同步修改agent_router.md - **修改内容:** 修改agent_router.md中 “docs/zh 结构”等描述 ---- ## 2. 功能验证 - [ ] **功能自验** - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++: - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++: - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!148 | 3 个月前 | |
[feature]:新构建方案适配,统一构建入口,提升易用性 Co-authored-by: mengguangxin<mgx0018@163.com> # message auto-generated for no-merge-commit merge: !309 merge build_618 into master [feature]:新构建方案适配,统一构建入口,提升易用性 Created-by: mengguangxin Commit-by: mengguangxin Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 适配统一新构建镜像和构建工程 - **修改内容:** 统一版本号和预留扩展参数,统一输出路径 ---- ## 2. 功能验证 - [ ] **功能自验** NA - [ ] **本地自验用例截图** NA - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!309 | 20 天前 | |
[msprof_master]msprof编包支持根据tag名刷新run+whl包名 Co-authored-by: yuliangbin<y1416490440@163.com> # message auto-generated for no-merge-commit merge: !182 merge add_tag_version_info into master [msprof_master]msprof编包支持根据tag名刷新run+whl包名 Created-by: yu_liangbin Commit-by: yuliangbin Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** msprof编的解析whl包需要根据version.info文件刷新版本号 - **修改内容:** 1. set_up.py读取whl_version环境变量,刷新到whl包的version; 2. whl包安装适配; 3. 将version刷新到version.info中; ---- ## 2. 功能验证 - [x] **功能自验** 1. 执行build.sh编包  2. 安装run包   3. version.info刷新  - [x] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 3. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 4. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 5. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/msprof!182 | 2 个月前 |
MindStudio Profiler
✨ 最新消息
🔹 [2025.12.30]:MindStudio Profiler项目首次上线
ℹ️ 简介
MindStudio Profiler(msProf)是面向 AI 训练与推理场景的性能分析工具,支持采集与解析 CANN 层和昇腾 AI 处理器 NPU 硬件层的软硬件性能数据,帮助定位模型训练或推理过程中的性能问题。msProf 也是其他 Profiling 采集接口的基础能力,许多上层性能采集与分析能力最终都依赖 msProf 完成底层数据采集。若希望了解昇腾性能调优工具的完整全景,可进一步参考MindStudio Profiler 文档总览。

⚙️ 功能介绍
| 功能名称 | 功能简介 | 文档 | 源码仓库 |
|---|---|---|---|
| 性能数据采集 | 通过 msProf 命令采集 CANN 平台及昇腾 AI 处理器的软硬件性能数据。 |
性能数据采集 | msprof |
| 性能数据解析 | 使用 msProf 工具对采集到的性能数据进行解析,生成可读的分析结果。 |
性能数据解析 | analysis |
🚀 快速入门
msProf 工具通过命令行调用,通用采集命令格式如下:
msprof --output=<输出目录> --application="<应用程序> <参数>"
示例:
# 示例1:采集Python任务
msprof --output=./output --application="python3 train.py"
# 示例2:采集Shell脚本拉起的AI任务
msprof --output=./output --application="./run_standalone_train.sh"
以 ResNet50 模型训练任务为例,《快速入门》贯穿性能调优全流程,帮助您在 10 分钟内快速体验 msProf 工具在数据采集、解析导出、性能分析等环节的核心功能。
📦 安装指南
msProf 工具内置在 CANN Toolkit 开发套件中,推荐直接下载 CANN 包进行安装,具体请参见《CANN 快速安装》。
如需通过源码编译方式安装,请参见 《msProf 工具安装指南》。
📘 使用指南
工具的详细使用方法,请参见《msProf 使用指南》。
💡 典型案例
通过典型问题场景帮助用户理解并掌握工具使用,请参见《msProf 典型案例》。
❓ FAQ
常见问题及解决方案,请参见《msProf FAQ》。
🌌 智能检索
为提升文档查阅效率,我们提供多种高效检索方式:
🔹 AI 问答(DeepWiki):自然语言问答,快速把握项目架构与模块关系。
🔹 AI 问答(ZRead):中文问答体验更优,精准定位功能用法与细节。
🔹 精确搜索(ReadTheDocs):关键词全文检索,直达接口、参数与报错等信息。
🛠️ 贡献指南
欢迎参与项目贡献,请参见 《贡献指南》。
⚖️ 相关说明
🔹 《版本说明》
🔹 《许可证声明》
🔹 《安全声明》
🔹 《免责声明》
🤝 建议与交流
欢迎大家为社区做贡献。如果有任何疑问或建议,请提交 Issues,我们会尽快回复。感谢您的支持。
| 即时互动(微信群) | 官方资讯(公众号) | 深度支持(助手/论坛) |
|---|---|---|
![]() 扫码加入技术交流群 |
![]() 扫码关注官方公众号 |
扫码入群并关注公众号,直达 MindStudio 用户与开发者最快捷的交流平台: 快速提问: 与社区小伙伴即时探讨技术问题 掌握动态: 第一时间获取版本发布与功能更新通知 经验共享: 与广大开发者交流最佳实践与实战心得 更多支持渠道:👉 昇腾助手: |
🙏 致谢
本工具由华为公司的下列部门贡献:
🔹 昇腾计算MindStudio开发部
感谢来自社区的每一个PR,欢迎贡献。

