| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
清理未引用符号和进不了业务代码的单元测试 Co-authored-by: Seanesmhxocism<wangzixuan54@huawei.com> # message auto-generated for no-merge-commit merge: !594 merge opt/codebase-slop-audit into master 清理未引用符号和进不了业务代码的单元测试 Created-by: Seanesmhxocism Commit-by: Seanesmhxocism Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** - 清理历史代码里的冗余代码和冗余ut和日落芯片 - **修改内容:** - 清理历史代码里的冗余代码和冗余ut - 清理日落芯片 chipId 0 的业务流程 ---- ## 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!594 | 1 天前 | |
V6 pmu解析问题修复 Co-authored-by: zyb_230<zhaiyibo@h-partners.com> # message auto-generated for no-merge-commit merge: !603 merge main into master V6 pmu解析问题修复 Created-by: zyb_230 Commit-by: zyb_230 Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** 1. **V6 mix 算子 aicore_time/aiv_time 错误**:V6 mix 算子同时上报主核(mst=1)和从核(mst=0)两条 context PMU 记录。C++ 迁移时把记录的核侧类型(acceleratorType)误当作任务类型逐条分流,导致时间赋值错位(aiCoreTime 被清零、aivTime 未赋值)、任务类型被从核记录覆盖;同时从核时间公式误用主核侧 blockNum(从核 totalCycle 是 mixBlockNum 个分块的累加),在小核数芯片上被 ceil 因子掩盖,大核数芯片上 aiv_time 精确偏大 blockNum/mixBlockNum 倍。 2. **V6 memory 带宽指标寄存器与系数未同步**:A5 新芯片 PMU 事件地址变更(runtime 侧已同步上报),main_mem 读写事件由 0x400/0x401(1024/1025) 调整为 0x422/0x423(1058/1059),带宽倍率由 8 调整为 128。Python 侧已在 afde1a40 同步(event2metric 映射 + _cal_bandwidth 按芯片分发系数),C++ 侧 MEMORY_CONFIG_V6 仍为旧地址旧系数,导致 V6 memory 校验失败(采集串中无 0x400/0x401)或指标计算错误;此外 UB 带宽误用双寄存器加权合并(0x56f+0x571,权重 0.25),而 task-based 口径(constant.py PmuCalculateFunc)为逐寄存器独立计算。 - **修改内容:** 1. **chip6_pmu_parser_item.cpp**:解析器 acceleratorType 改为纯上报核类型(coreType=0 为 AIC 核上报,1 为 AIV 核上报),不再产生 MIX_AIC/MIX_AIV;mix 标志(上报 flags bit1)新增独立字段 HalPmu::mix 存储。 2. **pmu_association.cpp(CalculateContextPmuV6)**: - 分支入口改用记录自带的 mix/mst/coreType 字段; - mix 任务类型以主核记录为准合成(MIX_AIC/MIX_AIV 表达任务类型),从核记录不赋值; - 时间计算对齐 Python mst 配对模型:主核用 syscnt 时间差,从核 AIC 上报归零、AIV 上报用 totalCycle 周期公式算 aivTime。 3. **metric_calculator.cpp(SetBlockNum)**:mix 任务 AIV 从核记录(mix && mst==0 && coreType==1)计算时间时 blockNum 改用 mixBlockNum,对齐 Python 从核公式口径;其余记录不变。 4. **memory_calculator.h(MEMORY_CONFIG_V6,对齐 Python task-based)**: - MainMemReadBw/MainMemWriteBw 寄存器 0x400/0x401 → **0x422(1058)/0x423(1059)**,系数 8×8 → **128×8**; - UBReadBw/UBWriteBw 由双寄存器加权合并回单寄存器(0x56f/0x570 ×256×4),删除 registerScales,vector 口径(0x571/0x572)由 MemoryUBCalculator 承担。 ## 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!603 | 2 天前 | |
pmu analysis algorithm optimize for chip v6 && multiprocess exit handler | 18 小时前 | |
统一streamId,taskId和batchId的字节大小为uint32_t Co-authored-by: panzhaohu<panzhaohu1@h-partners.com> # message auto-generated for no-merge-commit merge: !388 merge 0728_master into master 统一streamId,taskId和batchId的字节大小为uint32_t Created-by: panzhaohu Commit-by: panzhaohu Merged-by: ascend-robot Description: # PR 合入模板 **注:经过自检不涉及的可标注“不涉及”或直接打勾,特殊情况请文字备注。不符合规范的 PR 不允许合入,请(后备)commit 注意。** ---- ## 1. 修改描述 - **修改原因:** streamId在代码有的地方是uint16_t,有的地方是uint32_t,不方便维护,现在统一大小 - **修改内容:** pre_commit扫描时会将变量名称*Datas改为Data,添加屏蔽规则 log_modeling里将LogModeling::GenMergeTaskKey(const HalLogData& logData)返回值改为结构体struct MergeTaskKeyData { uint32_t contextId; uint32_t taskId; uint32_t streamId; bool operator<(const MergeTaskKeyData& other) const { if (contextId != other.contextId) return contextId < other.contextId; if (taskId != other.taskId) return taskId < other.taskId; return streamId < other.streamId; } }; 因为将streamId和taskId扩容,组成的返回值超过uint64_t 核心数据结构 TaskId::streamId 类型变更: 将 analysis/csrc/domain/valueobject/include/task_id.h 中 TaskId 的 streamId 成员从 uint16_t 改为 uint32_t,构造函数参数和 IDHasher 哈希函数中的 hash<uint16_t> 同步改为 hash<uint32_t>,是本次统一的基础变更。 移除 assembler/processor 中冗余的类型转换: 在 op_summary_assembler.cpp、task_time_assembler.cpp、ascend_hardware_assembler.cpp、block_detail_assembler.cpp、overlap_analysis_processor.cpp、page_fault_processor.cpp 和 load_host_data.cpp 等文件中,移除了构造 TaskId 时对 streamId 的 static_cast<uint16_t>() 转换,因为字段类型现已匹配。 CCU/KFC/DPU 相关实体的 streamId 类型统一: 在 ccu_mission_processor.h、ccu_mission_data.h、dpu_processor.h、dpu_data.h、kfc_task_processor.h 和 kfc_turn_data.h 中,将各结构体(CCUMissionInfo、DPUData、KfcTurnData 等)及 using 类型别名(OriCCUMissionData、TrackFormat、OriKfcCommData 等)中的 streamId 从 uint16_t 改为 uint32_t,初始值也从 UINT16_MAX 改为 UINT32_MAX。 log_modeling.cpp 中分组键位运算调整: 由于 streamId 扩展为 32 位,GenMergeTaskKey 中 CONTEXT_OFFSET 从 32 改为 48、TASK_OFFSET 从 16 改为 32,新增 LOW_32BIT_MASK 常量,低 32 位用于存放完整的 streamId,高 16 位改为存放 deviceId 替代原来的 contextId;GenGroupKey 返回类型保持不变但内部直接使用 32 位 streamId。 持久化层和 HAL 实体中 streamId 相关类型适配: 在 ts_track_persistence.cpp 中将 TaskTypeDataFormat、StepTraceDataFormat 等数据库查询格式中的 stream_id 字段从 uint16_t 改为 uint32_t;在 ascend_obj.h 中将 CaptureStreamInfo::originalStreamId 改为 uint32_t;在 rt_add_info_center.cpp 中同步更新 LoadCaptureInfoDB 的查询 DataFormat;在 pmu_modeling.h 中将 pmu_ 映射的键类型从 uint16_t 改为 uint32_t;step_trace_tasks.h 中 allReduceTable 和 getNextTable 的键类型也同步改为 uint32_t。 ---- ## 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!388 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 天前 | ||
| 2 天前 | ||
| 18 小时前 | ||
| 2 个月前 |