MindStudio-Profiler-Tools-Interface:基于Ascend设备的Profiling API项目

msPTI工具(MindStudio Profiling Tools Interface)是MindStudio针对Ascend设备提出的一套Profiling API,用户可以通过msPTI构建针对NPU应用程序的工具,用于分析应用程序的性能。

分支6Tags61
文件最后提交记录最后更新时间
添加PR模版 Co-authored-by: xfeng<zhaiyibo@h-partners.com> # message auto-generated for no-merge-commit merge: !8 merge pr into master 添加PR模版 Created-by: zyb_230 Commit-by: xfeng Merged-by: ascend-robot Description: 添加PR模版 See merge request: Ascend/mspti!85 个月前
mstx问题修复 Co-authored-by: Gallium<hujia23@huawei.com> 5 个月前
mspti开源资料合入 Co-authored-by: xzm123<xiezuomeng@huawei.com> # message auto-generated for no-merge-commit merge: !9 merge master into master mspti开源资料合入 Created-by: xzm123 Commit-by: xzm123 Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 增加资料连接并删除冗余描述 - **修改内容:** 工具介绍readme内容 ---- ## 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/mspti!94 个月前
mstx问题修复 Co-authored-by: Gallium<hujia23@huawei.com> 5 个月前
msPTI开源 Co-authored-by: z30043230<zhaiyibo@h-partners.com> 5 个月前
msPTI开源 Co-authored-by: z30043230<zhaiyibo@h-partners.com> 5 个月前
msPTI开源 Co-authored-by: z30043230<zhaiyibo@h-partners.com> 5 个月前
msPTI开源 Co-authored-by: z30043230<zhaiyibo@h-partners.com> 5 个月前
msPTI开源 Co-authored-by: z30043230<zhaiyibo@h-partners.com> 5 个月前
mspit开源资料合入 Co-authored-by: xzm123<xiezuomeng@huawei.com> 5 个月前
mspti开源资料合入 Co-authored-by: xzm123<xiezuomeng@huawei.com> # message auto-generated for no-merge-commit merge: !7 merge master into master mspti开源资料合入 Created-by: xzm123 Commit-by: xzm123 Merged-by: ascend-robot Description: mspti开源资料合入: 1.由于CANN1230未发布,依赖CANN的代码仓,不发布版本,资料需修改: Reademe中版本说明章节去掉,版本说明文档也去掉; 环境依赖中补充说明:“工具的使用运行需要提前获取并安装CANN开源版本,当前CANN开源版本正在发布中,敬请期待。” 2.其他资料优化问题修改 See merge request: Ascend/mspti!75 个月前
msPTI开源 Co-authored-by: z30043230<zhaiyibo@h-partners.com> 5 个月前
msPTI开源 Co-authored-by: z30043230<zhaiyibo@h-partners.com> 5 个月前

MindStudio-Profilier-Tools-Interface

简介

msPTI工具(MindStudio Profiling Tools Interface)是MindStudio针对Ascend设备提出的一套Profiling API,用户可以通过msPTI构建针对NPU应用程序的工具,用于分析应用程序的性能。

msPTI为通用场景接口,使用msPTI API开发的Profiling分析工具可以在各种框架的推理训练场景生效。

msPTI主要包括以下功能:

  • Tracing:在msPTI中Tracing是指CANN应用程序执行启动CANN活动的时间戳和附加信息的收集,如CANN API、Kernel、内存拷贝等。通过了解程序运行耗时,识别CANN代码的性能问题。可以使用Activity API和Callback API收集Tracing信息。
  • Profiling:在msPTI中Profiling是指单独收集一个或一组Kernel的NPU性能指标。

目录结构

目录如下:

└── docs                      // 文档
	└── zh                    // 中文文档
└── csrc                      // 使用C开发的一套API
└── mspti                     // 将C API的功能作为底层逻辑封装的一套Python的API
└── samples                   // 工具样例存放目录
└── scripts                   // 存放whl包构建脚本,run包编译、安装相关脚本,UT运行、覆盖率脚本等
└── test                      // 测试部分,存放UT代码
└── README.md                 // 整体仓说明文档

环境部署

环境和依赖

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

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

工具安装

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

功能介绍

使用msPTI工具,详情请参见《msPTI工具用户指南》。

API参考

免责声明

致msPTI使用者

  1. msPTI提供的所有内容仅供您用于非商业目的。
  2. 对于msPTI测试用例以及示例文件中所涉及的各模型和数据集,平台仅用于功能测试,华为不提供任何模型权重和数据集,如您使用这些数据进行训练,请您特别注意应遵守对应模型和数据集的License,如您因使用这些模型和数据集而产生侵权纠纷,华为不承担任何责任。
  3. 如您在使用msPTI过程中,发现任何问题(包括但不限于功能问题、合规问题),请在GitCode提交issue,我们将及时审视并解决。
  4. msPTI功能依赖的第三方开源软件,均由第三方社区提供和维护,因第三方开源软件导致的问题的修复依赖相关社区的贡献和反馈。您应理解,msPTI仓库不保证对第三方开源软件本身的问题进行修复,也不保证会测试、纠正所有第三方开源软件的漏洞和错误。

致数据所有者

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

安全声明

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

License

msPTI产品的使用许可证,详见LICENSE文件。

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

贡献声明

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

建议与交流

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

致谢

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

  • 昇腾计算MindStudio开发部

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

项目介绍

msPTI工具(MindStudio Profiling Tools Interface)是MindStudio针对Ascend设备提出的一套Profiling API,用户可以通过msPTI构建针对NPU应用程序的工具,用于分析应用程序的性能。

定制我的领域

下载使用量

0

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

语言类型

C++66.79%
Python13.34%
Shell7.79%
C7.64%
CMake3.07%