文件最后提交记录最后更新时间
Mspti adapter communication_monitor dev Co-authored-by: eejiechu<wjchuee@foxmail.com> # message auto-generated for no-merge-commit merge: !79 merge communication_monitor_dev into master Mspti adapter communication_monitor dev Created-by: eejiechu Commit-by: eejiechu Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** mspti-python新增CommunicationMonitor,替换原有HcclMonitor功能 - **修改内容:** 1. 由于上层框架调用通信算子方式变更,mspti-python 采集通信算子的HcclMonitor功能失效,新增CommunicationMonitor实现替换 2. ut、st、sample、文档同步变更 3. python HcclMonitor、c hccl activity 弃用说明后续补充 ---- ## 2. 功能验证 - [x] **功能自验** CommunicationMonitor 功能正常 ![ScreenShot_20260423110458_compressed.PNG](https://raw.gitcode.com/user-images/assets/8528170/83391bb0-b308-40df-9788-eed8e77fd469/ScreenShot_20260423110458_compressed.PNG 'ScreenShot_20260423110458_compressed.PNG') - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 4. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 5. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 6. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/mspti!791 个月前
Mspti adapter communication_monitor dev Co-authored-by: eejiechu<wjchuee@foxmail.com> # message auto-generated for no-merge-commit merge: !79 merge communication_monitor_dev into master Mspti adapter communication_monitor dev Created-by: eejiechu Commit-by: eejiechu Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** mspti-python新增CommunicationMonitor,替换原有HcclMonitor功能 - **修改内容:** 1. 由于上层框架调用通信算子方式变更,mspti-python 采集通信算子的HcclMonitor功能失效,新增CommunicationMonitor实现替换 2. ut、st、sample、文档同步变更 3. python HcclMonitor、c hccl activity 弃用说明后续补充 ---- ## 2. 功能验证 - [x] **功能自验** CommunicationMonitor 功能正常 ![ScreenShot_20260423110458_compressed.PNG](https://raw.gitcode.com/user-images/assets/8528170/83391bb0-b308-40df-9788-eed8e77fd469/ScreenShot_20260423110458_compressed.PNG 'ScreenShot_20260423110458_compressed.PNG') - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 3. 分支合并要求 - [ ] **代码合并**(请确保将 master 分支的最新代码同步合并至 poc 分支及 pre-research 分支,同时保证 poc 分支的代码也已正确合并到 pre-research 分支。) ---- ## 4. 代码检视 - **要求:** - 合入代码超过 200 行,需三人以上会议检视。 - 检视密度≥1个/100行。 - 检视缺陷密度未达要求需提供说明。 - 大于 1000 行代码原则上不允许合入,需进行备案。 - [ ] **是否经过代码检视** - [ ] **是否具备 UT 测试用例看护** (如不符合,请说明原因:____________________) - **检视意见数:____ 条** (请填写本次检视的意见总数,用于commit合入前审视) ---- ## 5. 安全自检 ### Python、C++ - [ ] **对外接口新增/删除/变更后,资料要同步新增/删除/变更,新增接口入参校验参考外部输入表格** - [ ] **不允许私有的文件操作,需要使用公共模块的安全函数** - [ ] **任务结束后需要删除临时文件,同时需要考虑任务失败后,临时文件没有残留** - [ ] **数组访问需要校验越界场景,对除法需要做除零校验** - [ ] **需要对递归方法做递归深度校验,正则表达式必须做 ReDoS 校验** - [ ] **需要充分进行接口输入和返回值异常情况的校验** - [ ] **日志打印不要出现拼写或语法错误,不要暴露代码细节和敏感信息** ### C++ - [ ] **指针使用前需要判空** - [ ] **数值计算校验溢出和反转** - [ ] **不可存在内存泄漏(异常场景需要释放内存)** - [ ] **类型转换不能出现数据截断** - [ ] **拷贝字符串时,目的缓冲区至少比源缓冲区大 1** - [ ] **拷贝内存时,目的缓冲区不小于源缓冲区** - [ ] **内存释放后指针赋值为 nullptr** ---- ## 6. 变更知会 - [ ] **资料修改** - [ ] **变更通知(消息知会 + 邮件知会)** ---- See merge request: Ascend/mspti!791 个月前
README.md

Python API总体说明

接口简介

Profiling模块提供msPTI Python接口,用于采集各模块性能数据。

msPTI API的功能介绍和使用示例请参见msPTI工具

接口列表

具体接口如下:

表 1 msPTI Python API

接口 说明
HcclMonitor类型 HcclMonitor说明
HcclMonitor.start 标识通信算子性能数据采集的开始。
HcclMonitor.stop 标识通信算子性能数据采集的结束。
HcclMonitor.flush_all 调用回调函数,将缓冲区中的所有Activity数据写入用户内存。
HcclMonitor.set_buffer_size 在采集开始前设置Activity Buffer的大小。
KernelMonitor类型 KernelMonitor说明
KernelMonitor.start 标识Kernel性能数据采集的开始。
KernelMonitor.stop 标识Kernel性能数据采集的结束。
KernelMonitor.flush_all 调用回调函数,将缓冲区中的所有Activity数据写入用户内存。
KernelMonitor.set_buffer_size 在采集开始前设置Activity Buffer的大小。
MstxMonitor类型 MstxMonitor说明
MstxMonitor.start 标识数据采集msTX打点的开始。
MstxMonitor.stop 标识数据采集msTX打点的结束。
MstxMonitor.enable_domain 开启对应域打点的采集。
MstxMonitor.disable_domain 关闭对应域打点的采集。
MstxMonitor.flush_all 调用回调函数,将缓冲区中的所有Activity数据写入用户内存。
MstxMonitor.set_buffer_size 在采集开始前设置Activity Buffer的大小。
CommunicationMonitor类型 CommunicationMonitor说明
CommunicationMonitor.start 标识通信算子性能数据采集的开始。
CommunicationMonitor.stop 标识通信算子性能数据采集的结束。
CommunicationMonitor.flush_all 调用回调函数,将缓冲区中的所有Activity数据写入用户内存。
CommunicationMonitor.set_buffer_size 在采集开始前设置Activity Buffer的大小。
Data Structure类型 Data Structure说明
HcclData Activity Record类型MSPTI_ACTIVITY_KIND_HCCL对应的结构体。
KernelData Activity Record类型MSPTI_ACTIVITY_KIND_KERNEL对应的结构体。
MarkerData Activity Record类型MSPTI_ACTIVITY_KIND_MARKER对应的结构体。
RangeMarkerData Activity Record类型MSPTI_ACTIVITY_KIND_MARKER对应的结构体。
CommunicationData Activity Record类型MSPTI_ACTIVITY_KIND_COMMUNICATION对应的结构体。
Enumeration类型 Enumeration说明
msptiResult MSPTI返回的错误和结果代码。
msptiActivityKind MSPTI支持的所有Activity类型。
msptiActivityFlag Activity Record的活动标记。
msptiActivitySourceKind 标记Activity数据来源。
msptiCommunicationDataType 通信算子传输的数据类型。