| feat:aicpu算子信息库从json合并模式整改到opdef的形式
Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com>
# message auto-generated for no-merge-commit merge:
!4864 merge opdef into master
feat:aicpu算子信息库从json合并模式整改到opdef的形式
Created-by: zhaowenrui666
Commit-by: zhaowenrui666
Merged-by: cann-robot
Description: ## 描述
当前 AttentionWorkerScheduler 和 FfnWorkerScheduler 的 AICPU 算子信息仍通过手写 JSON 维护,未接入 OpDef 驱动生成链路,存在 JSON 与算子定义分离、真值源不统一、构建链路维护成本高的问题。
本次 PR 将这两个算子的 AICPU 算子信息库从手写 JSON 模式整改为 OpDef 生成链路,主要变更如下:
1. 为 AttentionWorkerScheduler 和 FfnWorkerScheduler 新增对应的 *_aicpu_def.cpp,使用真实 OpDef 描述输入输出、属性和 AICPU 配置。
2. 删除原有的手写 JSON 真值文件,不再直接维护这两个算子的 AICPU JSON。
3. 调整 CMake 与 AICPU 生成链路,使 cust_aicpu_kernel.json 由 *_aicpu_def.cpp -> libaicpu_ops.so -> op_build --aicpu -> aicpu_kernel.ini -> aicpu_parser_ini_to_json.py 生成。
4. 为仓内新增 AICPU 专用的 aicpu_parser_ini_to_json.py,独立承担 AICPU ini 转 json 的校验与生成。
5. 统一 AttentionWorkerScheduler、FfnWorkerScheduler 的 AICPU 默认配置表达,并补齐 FfnWorkerScheduler 的属性定义。
## 关联的Issue
- 关联 Issue #2196
- https://gitcode.com/cann/ops-transformer/issues/2196
## 测试
已基于重新编译产物完成验证,结果如下:
1. opInfo vs 原始 JSON:通过
2. I/O normalized vs canndev:通过
3. JSON vs INI 完整对比:通过
4. aicpu_parser_ini_to_json.py 校验:通过
5. change 前后 JSON 对比:通过
关键结果:
- 重新生成目标输出 Compile op info cfg successfully.
- before 字段路径在 after 中全部存在
- 新增字段仅为 opInfo.formatAgnostic、opInfo.opsFlag、opInfo.subTypeOfInferShape
- AttentionWorkerScheduler、FfnWorkerScheduler 的 input0/output0 与 canndev 基线一致
## 文档更新
无。
## 类型标签
- [x] 🐛 Bug 修复
- [ ] ✨ 新特性
- [ ] ⚡ 性能优化
- [ ] ♻️ 重构
- [ ] 🧪 测试
- [ ] 📦 构建/CI
- [ ] 🔧 配置变更
- [ ] 📝 文档更新
- [ ] ⬆️ 依赖升级
- [ ] 🔒 安全修复
- [ ] 🧹 代码清理
- [ ] ❓ 其他,请描述:
See merge request: cann/ops-transformer!4864 | 15 天前 |