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

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

分支7Tags60
文件最后提交记录最后更新时间
[msprof-master]msprof完善安装打屏信息 Co-authored-by: yu-liang-bin<y1416490440@163.com> 5 个月前
[msprof-master]clean-code问题修改:copyright整改为统一 Co-authored-by: yu-liang-bin<y1416490440@163.com> 5 个月前
[msprof-master]修改msprof采集编包脚本(适配runtime&oam-tools公仓) Co-authored-by: yu-liang-bin<y1416490440@163.com> # message auto-generated for no-merge-commit merge: !22 merge bug_fix_msprof_sh into master [msprof-master]修改msprof采集编包脚本(适配runtime&oam-tools公仓) Created-by: yu_liangbin Commit-by: yu-liang-bin Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** msprof采集编包依赖的runtime仓和oam-tools仓有关msprof的 - **修改内容:** 1. msprof采集编包适配runtime&oam-tools公仓地址; 2. msprof采集编包适配最新msprof目录结构 ---- ## 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!224 个月前
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> 5 个月前
【bugfix】[msprof]资料低错修改 Co-authored-by: cai-weiwei1989<734267852@qq.com> # message auto-generated for no-merge-commit merge: !20 merge master into master 【bugfix】[msprof]资料低错修改 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!204 个月前
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> 5 个月前
[msprof-master]修改msprof采集编包脚本(适配runtime&oam-tools公仓) Co-authored-by: yu-liang-bin<y1416490440@163.com> # message auto-generated for no-merge-commit merge: !22 merge bug_fix_msprof_sh into master [msprof-master]修改msprof采集编包脚本(适配runtime&oam-tools公仓) Created-by: yu_liangbin Commit-by: yu-liang-bin Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** msprof采集编包依赖的runtime仓和oam-tools仓有关msprof的 - **修改内容:** 1. msprof采集编包适配runtime&oam-tools公仓地址; 2. msprof采集编包适配最新msprof目录结构 ---- ## 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!224 个月前
[msprof-master]clean-code问题修改:copyright整改为统一 Co-authored-by: yu-liang-bin<y1416490440@163.com> 5 个月前
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> 5 个月前
[msprof-master]out分支同步到master分支 Co-authored-by: yu-liang-bin<y1416490440@163.com> 5 个月前
【bugfix】[msprof]资料规范优化 Co-authored-by: cai-weiwei1989<734267852@qq.com> 5 个月前
【bugfix】[msprof]资料测试问题修改 Co-authored-by: cai-weiwei1989<734267852@qq.com> 5 个月前

MindStudio Profiler

简介

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

目录结构

关键目录如下,详细目录介绍参见项目目录

└── .gitcode                  // 存放仓库中的元数据
└── analysis                  // 数据解析目录
└── build                     // 构建目录
    ├── build.sh              // 构建脚本
└── cmake                     // 存放解析C化部分cmake文件
└── docs                      // 文档
    └── zh                    // 中文文档
└── samples                   // 工具样例存放目录
    ├── README.md             // 工具样例说明
└── scripts                   // 存放run包安装、升级相关脚本
└── test                      // 测试部分,存放覆盖率统计脚本
└── README.md                 // 整体仓说明文档

环境部署

环境和依赖

  • 硬件环境请参见《昇腾产品形态说明》。

  • 工具的运行需要提前获取并安装CANN开源版本,当前CANN开源版本正在发布中,敬请期待。

以上环境依赖请根据实际环境选择适配的版本。

工具安装

安装msProf工具,详情请参见《msProf工具安装指南》。

功能介绍

  1. msProf性能数据采集

    通过msProf命令对AI任务运行性能数据、昇腾AI处理器系统数据进行采集。

  2. msProf性能数据解析

    通过msProf命令对AI任务运行性能数据、昇腾AI处理器系统数据进行解析。

安全声明

描述msProf产品的安全加固信息、公网地址信息及通信矩阵等内容。详情请参见msProf安全声明

免责声明

致msProf使用者

  • 本工具仅供调试和开发使用,使用者需自行承担使用风险,并理解以下内容:
    • 数据处理及删除:用户在使用本工具过程中产生的数据属于用户责任范畴。建议用户在使用完毕后及时删除相关数据,以防信息泄露。
    • 数据保密与传播:使用者了解并同意不得将通过本工具产生的数据随意外发或传播。对于由此产生的信息泄露、数据泄露或其他不良后果,本工具及其开发者概不负责。
    • 用户输入安全性:用户需自行保证输入的命令行的安全性,并承担因输入不当而导致的任何安全风险或损失。对于输入命令行不当所导致的问题,本工具及其开发者概不负责。
  • 免责声明范围:本免责声明适用于所有使用本工具的个人或实体。使用本工具即表示您同意并接受本声明的内容,并愿意承担因使用该功能而产生的风险和责任,如有异议请停止使用本工具。
  • 在使用本工具之前,请谨慎阅读并理解以上免责声明的内容。对于使用本工具所产生的任何问题或疑问,请及时联系开发者。

致数据所有者

如果您不希望您的模型或数据集等信息在msProf中被提及,或希望更新msProf中有关的描述,请在GitCode提交Issue,我们将根据您的Issue要求删除或更新您相关描述。衷心感谢您对msProf的理解和贡献。

License

msProf产品的使用许可证,具体请参见LICENSE文件。

msProf工具docs目录下的文档适用CC-BY 4.0许可证,具体请参见LICENSE

贡献声明

  1. 提交错误报告:如果您在msProf中发现了一个存在安全问题的漏洞,请在msProf仓库中的Issues中搜索,以防该漏洞已被提交,如果找不到漏洞可以创建一个新的Issues。如果发现了一个安全问题请不要将其公开,请参阅安全问题处理方式。提交错误报告时应该包含完整信息。
  2. 安全问题处理:本项目中对安全问题处理的形式,请通过邮箱通知项目核心人员确认编辑。
  3. 解决现有问题:通过查看仓库的Issues列表可以发现需要处理的问题信息, 可以尝试解决其中的某个问题。
  4. 如何提出新功能:请使用Issues的Feature标签进行标记,我们会定期处理和确认开发。
  5. 开始贡献:
    1. Fork本项目的仓库。
    2. Clone到本地。
    3. 创建开发分支。
    4. 本地测试:提交前请通过所有的单元测试,包括新增的测试用例。
    5. 提交代码。
    6. 新建Pull Request。
    7. 代码检视:您需要根据评审意见修改代码,并重新提交更新。此流程可能涉及多轮迭代。
    8. 当您的PR获得足够数量的检视者批准后,Committer会进行最终审核。
    9. 审核和测试通过后,CI会将您的PR合并入到项目的主干分支。

建议与交流

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

致谢

msProf由华为公司的下列部门联合贡献:

  • 昇腾计算MindStudio开发部

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

项目介绍

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

定制我的领域

下载使用量

0

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

语言类型

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