已关闭
fix: 修复 ATT 性能函数注册表并发安全并清理历史 pass #283
zhang_shengjie创建于  12 天前关闭于  12 天前
zhang_shengjie成员
12 天前 创建

问题背景

ATT 性能函数注册表 EvalCosts 当前使用 unordered_map 保存 ASCIR/AscendC 性能函数,注册、查找和遍历缺少统一同步保护,存在并发读写风险。ApiPerfFactory 的全局注册点过早解析性能函数,也可能触发静态初始化顺序问题。

同时,ATTPassMgr/pass_mgr.h/matmul_align_pass 已不在当前产品 CV 融合路径使用,相关实现和测试继续保留会增加维护与构建负担。

处理范围

  1. EvalCosts 的注册、查找和列表遍历增加互斥保护。
  2. 在锁内复制 creator,释放锁后创建性能对象,避免锁内执行创建逻辑。
  3. 延迟保存和解析全局注册点的性能函数 key,规避静态初始化顺序问题,并保留现有特殊 key 映射。
  4. 删除确认无产品消费者的历史 ATT pass manager、matmul align pass 及对应测试和过时代码路径。

验收标准

  • 多线程注册、查找和遍历性能函数注册表无数据竞争和未定义行为。
  • 全局注册点初始化顺序变化不影响性能函数创建。
  • 现有 v1/v35 注册映射及特殊 key 行为保持不变。
  • 删除范围内无产品消费者,相关 UT/ST 和构建检查通过。

关联 PR

  • !1821(fix: 修复 ATT 注册表并删除历史 pass)
likedislike
Zzhang_shengjie成员
12 天前 关联了pull request:fix: 修复 ATT 注册表并删除历史 pass
朱珉成员
12 天前 将 zhang_shengjie 设为负责人
Zzhang_shengjie成员
12 天前 issue状态由 进行中 改变为 已完成
Zzhang_shengjie成员
12 天前 关闭了 issue
CANN-robotCANN-robot成员
12 天前 添加了label:resolved