| 补充aicpu additional parser c化模块 Co-authored-by: Seanesmhxocism<617225691@qq.com> # message auto-generated for no-merge-commit merge: !387 merge cDev into master 补充aicpu additional parser c化模块 Created-by: Seanesmhxocism Commit-by: Seanesmhxocism Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 适配解析框架整体c化。支持aicpu 数据解析c化能力。 - **修改内容:** 1、适配V6场景 streamInfo获取方式,增加相关数据在数据中心中存储。 2、适配streamInfo数据处理,区分HostStreamInfo和DeviceStreamInfo。 3、适配aicoreFreq数据导出流程对于SteamInfo模块依赖 4、增加aicpu parser及其parserItem类设计,增加二进制文件解析流程 5、增加AicpuPersistence aicpu数据持久类,分类aicpu原始数据并落盘于对应的数据db。 ---- ## 2. 功能验证 - [ ] **功能自验** 单timeline数据导出,整体收益在15%左右。 | aicpu大小 | python解析 | c化解析 | 收益 | |--|--|--|--| | 13MB | 8.676s | 7.515s | 15.4% | | 60MB | 40.494s | 35.240s | 14.9% | 已知问题:kfcInfo数据导出的role字段,目前没有转换为DST/SRC/RESERVED/INVALID_TYPE,由于目前role没有使用,暂时先不处理。后续重构删除role数据落盘 - [ ] **本地自验用例截图** - [ ] **冒烟是否通过** (填入群链接的自验证报告中,如未通过,请说明原因:____________________ ,功能代码请主动申报添加冒烟) ---- ## 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!387 | 4 天前 |