MindStudio-Profiler:基于昇腾AI的性能分析工具项目

MindStudio Profiler(msProf,模型调优工具)提供了AI任务运行性能数据、昇腾AI处理器系统数据等性能数据的采集和解析功能,这些功能侧重不同的训练或推理场景,可以定位模型训练或推理中的性能问题。

分支7Tags60
文件最后提交记录最后更新时间
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!1731 个月前
fix mstx data analysis err in acl graph scene Co-authored-by: mei-feiyao<meifeiyao@h-partners.com> # message auto-generated for no-merge-commit merge: !261 merge tagid into master fix mstx data analysis err in acl graph scene Created-by: mei-feiyao Commit-by: mei-feiyao Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 1.aclgraph场景,在capture的阶段内调用mstx打点接口进行打点的话,打点的task会被捕捉到图里。当该图多次replay时,会多次执行相同的打点task,最终采集到的device打点数据里index_id字段也会重复; 2.解析device打点数据的逻辑未适配该场景,最终解析时使用相同index_id的最早打点时间作为开始时间,使用最晚打点时间作为结束时间,最终呈现的device打点耗时错误。 - **修改内容:** 1.cann 9.1.0以后,mark打点tag id是11,range打点tag id是12,增加方法判断数据对应的cann版本信息; 2.修改解析逻辑,判断是9.1.0以后的cann,将相同index_id的打点数据按时间排序后,每两个匹配,作为一段打点的开始和结束打点;否则保持之前的逻辑 3.生成tx.csv时,以前只会生成相同mark id里的最后一条数据,现在修复保留并生成所有的打点数据 4.C化部分修改device tx数据的处理逻辑,对于tagid是11的数据直接保存,对于tagid是12的数据先按index id和timestamp排序,再两两配对,拼接成range ---- ## 2. 功能验证 - [ ] **功能自验** ![image.png](https://raw.gitcode.com/user-images/assets/8551954/0ecf9972-7196-42bc-9430-e93f61473e09/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8551954/d7927382-fabf-4f7e-a949-5696e87a68f7/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8551954/11452d61-df5e-48fe-a2c2-dd4fc2497471/image.png 'image.png') - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 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!26115 小时前
[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编包 ![image.png](https://raw.gitcode.com/user-images/assets/8551954/b32ee807-7ba0-4ced-b8d1-623332014b73/image.png 'image.png') 2. 安装run包 ![image.png](https://raw.gitcode.com/user-images/assets/8551954/14c1b112-2946-4bd7-bbde-a65f68bb0627/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8551954/9596637b-9beb-430d-b6ad-b11894139f4f/image.png 'image.png') 3. version.info刷新 ![image.png](https://raw.gitcode.com/user-images/assets/8551954/abf19237-8553-431e-9588-2ffb6bc7597e/image.png 'image.png') - [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!1821 个月前
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> 5 个月前
docs:新增DPU数据信息 Co-authored-by: cai-weiwei1989<734267852@qq.com> # message auto-generated for no-merge-commit merge: !248 merge master into master docs:新增DPU数据信息 Created-by: cai-weiwei1989 Commit-by: cai-weiwei1989 Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** - **修改内容:** docs/zh/user_guide/profile_data_file_references.md新增DPU数据分析小节 ---- ## 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!2486 天前
fix cpu binder run err Co-authored-by: mei-feiyao<meifeiyao@h-partners.com> # message auto-generated for no-merge-commit merge: !255 merge cpu into master fix cpu binder run err Created-by: mei-feiyao Commit-by: mei-feiyao Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 当前用户运行cpu绑核脚本,报错提示找不到misc,是因为路径设置的不对 ![image.png](https://raw.gitcode.com/user-images/assets/8551954/059d8ce3-5399-437e-bfed-fbb7b062a8e0/image.png 'image.png') - **修改内容:** 调整文件路径,适配修改import ---- ## 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!2553 天前
msprof支持算法带宽计算和呈现 Co-authored-by: panzhaohu<panzhaohu1@h-partners.com> # message auto-generated for no-merge-commit merge: !243 merge 0519_ranksize into master msprof支持算法带宽计算和呈现 Created-by: panzhaohu Commit-by: panzhaohu Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 新特性:支持算法带宽计算和呈现 - **修改内容:** 1.在processArgs接口里增加rankSize字段 2.在hccltask, hccltasksingledevice和hcclopsingledevice三个数据表里添加rankSize字段 3.在统一db里增加rank_size字段 ---- ## 2. 功能验证 - [ ] **功能自验** 统一db: ![image.png](https://raw.gitcode.com/user-images/assets/8551954/200ac989-478a-43f2-921e-44a3b1b54eef/image.png 'image.png') timeline: ![image.png](https://raw.gitcode.com/user-images/assets/8551954/f6fd7024-4a45-4b68-9465-a4da4cc83b68/image.png 'image.png') - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 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!24314 天前
[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!1671 个月前
[fix]修复platform_profiler.run包未成功安装问题 Co-authored-by: yuliangbin<y1416490440@163.com> # message auto-generated for no-merge-commit merge: !249 merge fix_platform into master [fix]修复platform_profiler.run包未成功安装问题 Created-by: yu_liangbin Commit-by: yuliangbin Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** platform_profiler.run包安装失败 - **修改内容:** PLATFORM_PROFILER_RUN变量未定义,导致platform_profiler.run包安装不成功 ---- ## 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!24911 天前
添加triton算子相关冒烟用例 Co-authored-by: xfeng<zchlcw663@163.com> # message auto-generated for no-merge-commit merge: !269 merge st into master 添加triton算子相关冒烟用例 Created-by: zyb_230 Commit-by: xfeng Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 添加triton算子相关冒烟用例,一共三个 - **修改内容:** triton算子(包含inductor) acl_graph_triron acl_graph + triton_inducor ---- ## 2. 功能验证 - [ ] **功能自验** ![image.png](https://raw.gitcode.com/user-images/assets/8551954/74ae27cf-9985-4696-bc8a-7966f91da5ab/image.png 'image.png') - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 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!26912 小时前
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!1781 个月前
msprof支持算法带宽计算和呈现 Co-authored-by: panzhaohu<panzhaohu1@h-partners.com> # message auto-generated for no-merge-commit merge: !243 merge 0519_ranksize into master msprof支持算法带宽计算和呈现 Created-by: panzhaohu Commit-by: panzhaohu Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 新特性:支持算法带宽计算和呈现 - **修改内容:** 1.在processArgs接口里增加rankSize字段 2.在hccltask, hccltasksingledevice和hcclopsingledevice三个数据表里添加rankSize字段 3.在统一db里增加rank_size字段 ---- ## 2. 功能验证 - [ ] **功能自验** 统一db: ![image.png](https://raw.gitcode.com/user-images/assets/8551954/200ac989-478a-43f2-921e-44a3b1b54eef/image.png 'image.png') timeline: ![image.png](https://raw.gitcode.com/user-images/assets/8551954/f6fd7024-4a45-4b68-9465-a4da4cc83b68/image.png 'image.png') - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 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!24314 天前
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> 5 个月前
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!1731 个月前
【bugfix】[msprof]资料规范优化 Co-authored-by: cai-weiwei1989<734267852@qq.com> 5 个月前
添加官方支撑群 Co-authored-by: WangangYu<2392205247@qq.com> # message auto-generated for no-merge-commit merge: !233 merge ywg-msprof into master 添加官方支撑群 Created-by: MrYudd Commit-by: WangangYu Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 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!23320 天前
docs: 英文资料合入 Co-authored-by: cai-weiwei1989<734267852@qq.com> # message auto-generated for no-merge-commit merge: !195 merge master into master docs: 英文资料合入 Created-by: cai-weiwei1989 Commit-by: cai-weiwei1989 Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 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!1956 天前
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!1482 个月前
[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编包 ![image.png](https://raw.gitcode.com/user-images/assets/8551954/b32ee807-7ba0-4ced-b8d1-623332014b73/image.png 'image.png') 2. 安装run包 ![image.png](https://raw.gitcode.com/user-images/assets/8551954/14c1b112-2946-4bd7-bbde-a65f68bb0627/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8551954/9596637b-9beb-430d-b6ad-b11894139f4f/image.png 'image.png') 3. version.info刷新 ![image.png](https://raw.gitcode.com/user-images/assets/8551954/abf19237-8553-431e-9588-2ffb6bc7597e/image.png 'image.png') - [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!1821 个月前

MindStudio Profiler

昇腾性能采集工具

Ask DeepWiki Ask ZRead doc License Version Ascend

📢 最新消息

  • [2025.12.30]:MindStudio Profiler项目首次上线

📌 简介

MindStudio Profiler(msProf)是面向 AI 训练与推理场景的性能分析工具,支持采集与解析 CANN 平台及昇腾 AI 处理器的软硬件性能数据,帮助定位模型训练或推理过程中的性能问题。

msprof

⚙️ 功能介绍

功能名称 功能简介 文档 源码仓库
性能数据采集 通过 msProf 命令采集 CANN 平台及昇腾 AI 处理器的软硬件性能数据。 性能数据采集 msprof
性能数据解析 使用 msProf 工具对采集到的性能数据进行解析,生成可读的分析结果。 性能数据解析 analysis

🛠️ 安装指南

msProf 工具内置在 CANN Toolkit 开发套件中,推荐直接下载 CANN 包进行安装,具体请参见《CANN 快速安装》。

如需通过源码编译方式安装,请参见 《msProf 工具安装指南》。

🚀 快速入门

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 工具在数据采集、解析导出、性能分析等环节的核心功能。

🗂️ 目录结构

关键目录如下,详细信息参见目录结构说明

.
├── .gitcode                  # 仓库元数据
├── analysis                  # 数据解析目录
├── build                     # 构建目录
│   └── build.sh              # 构建脚本
├── cmake                     # CMake 文件目录
├── docs                      # 文档目录
│   └── zh                    # 中文文档
├── misc                      # 其他工具
│   ├── function_monitor      # 轻量化函数监控工具
│   └── gil_tracer            # Python GIL 锁检测工具
├── samples                   # 工具样例目录
│   └── README.md             # 样例说明
├── scripts                   # 安装、升级相关脚本
├── test                      # 测试与覆盖率统计脚本
└── README.md                 # 项目说明文档

📝 相关说明

💬 建议与交流

欢迎大家为社区做贡献。如果有任何疑问或建议,请提交 Issues,我们会尽快回复。感谢您的支持。

诚邀参与满意度问卷调查抽取惊喜好礼😎。

💬 技术交流群 📢 官方公众号 🤝 更多加入渠道

扫码直接加入技术交流群

扫码关注获取最新动态
欢迎扫码关注技术交流群跟官方公众号。这里是 MindStudio 用户与开发者最快捷的交流阵地:
快速提问: 与社区小伙伴即时探讨技术问题
掌握动态: 第一时间获取版本发布与功能更新通知
经验共享: 与其他开发者交流最佳实践
🛠️ 其他渠道
👉 昇腾助手:WeChat
👉 昇腾论坛:Website

🤝 致谢

本工具由华为公司的下列部门贡献:

  • 昇腾计算MindStudio开发部

感谢来自社区的每一个PR,欢迎贡献。

👥 关于MindStudio团队

华为MindStudio全流程开发工具链团队致力于提供端到端的昇腾AI应用开发解决方案,使能开发者高效完成训练开发、推理开发和算子开发。您可以通过以下渠道更深入了解华为MindStudio团队:

昇腾论坛: 昇腾小助手:

项目介绍

MindStudio Profiler(msProf,模型调优工具)提供了AI任务运行性能数据、昇腾AI处理器系统数据等性能数据的采集和解析功能,这些功能侧重不同的训练或推理场景,可以定位模型训练或推理中的性能问题。

定制我的领域

下载使用量

0

项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新

语言类型

Python63.2%
C++34.98%
Shell1.27%
CMake0.41%
HTML0.13%