| Files | Last commit | Last update |
|---|---|---|
fix: 桩 registrar 改静态对象登记消除泄漏,惰化路径补 WARN 日志,补登记 Globalavgpoolpass Co-authored-by: yuyuanfeng<yuyuanfeng1@huawei.com> # message auto-generated for no-merge-commit merge: !6731 merge refactor/fusion-pass-stub-static into master fix: 桩 registrar 改静态对象登记消除泄漏,惰化路径补 WARN 日志,补登记 Globalavgpoolpass Created-by: yuyuanfeng Commit-by: yuyuanfeng Merged-by: cann-robot Description: ## 描述 修复 !5140 桩机制的两处遗留问题,并补登记一项搁置的桩: 1. **registrar 堆分配未释放**: STUB_REG_PASS 的 registrar 改为函数内静态对象——ge_compiler 版本满足时构造并登记一次,不满足时不构造;消除 new 出的对象永不释放(ASan dlclose 场景 11 条分配 → 0)。 2. **惰化路径零日志**:版本门控不满足时补 WARN,进程内仅告警一次,区分弱符号未解析与 ge_compiler 版本低于 9.0.0 两种原因;登记行为与不加日志时完全一致。 3. **补登记 Globalavgpoolpass**(STUB_REG_PASS("Globalavgpoolpass", fe::BUILT_IN_GRAPH_PASS, 0x01),FORBIDDEN_CLOSE):!5140 时 math 类名为 GlobalavgpoolPass,大小写与 canndev 旧名(小写 p)不一致而搁置;!5385(10-30)类名对齐为 Globalavgpoolpass 后,桩名 / 类名(REG_FUSION_PASS(Globalavgpoolpass))/ 配置槽位(fusion_config.json、support_fusion_pass.json 3510/5102)三面一致,且 Stage=kCompatibleInherited、在 OPP 3510(ascend950) 白名单内,满足登记条件,补上 !5140 遗留。 4. 全部改动通过 clang-format v18.1.8(pre-commit 门禁)规范。 ## 关联的Issue - 关联 Issue #4352:https://gitcode.com/cann/ops-math/issues/4352(registrar 泄漏与门控静默缺陷) ## 测试 - **差分验证**(新旧同条件编译,五场景:无ACL / 真实ACL / 旧版本8.0.0 / dlclose前后 / -O2):注册输出逐名字一致;符号面未定义引用零删除、强符号导出面一致。 - **ASan/LSan**:泄漏 old=11 条分配 → new=0(修复生效);常驻场景两版均无泄漏报告。 - **950 真机**(run 包解包产物):桩编入(nm 两查通过)、fe 表登记 11/11、桥接闭环 11/11、PR 静态指纹=2(registrar 机制验证,时点为 11 桩清单;新增登记复用同一机制与门控)。 - **新增登记静态核验**:名字/类型/attr 与 canndev 原注册 REG_PASS("Globalavgpoolpass", BUILT_IN_GRAPH_PASS, Globalavgpoolpass, FORBIDDEN_CLOSE) 逐项一致;类名大小写经 !5385 对齐 canndev 旧名;OPP 白名单 3510 含该 pass;Stage=kCompatibleInherited(ge_compiler≥9.0.0),不在 kAfterInferShape 例外清单(对比 Castlike/Histogram)。 - **门禁**:pre-commit 全钩子通过(clang-format / codespell / OAT 合规);--opgraph --soc=ascend950 构建通过;rebase 至最新 master 后 CI 重跑(见下方流水线)。 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6731 | 7 days ago |