| refactor: 重构kernel编译配置体系,将配置从JSON/INI迁移至CMake声明式函数
Co-authored-by: songkai111<songkai16@huawei.com>
# message auto-generated for no-merge-commit merge:
!3010 merge master into master
refactor: 重构kernel编译配置体系,将配置从JSON/INI迁移至CMake声明式函数
Created-by: songkai111
Commit-by: songkai111
Merged-by: cann-robot
Description: ## 描述
本 PR 重构了 kernel 二进制编译的配置管理体系,将原来分散在 ascendc_config.json、*_simplified_key.ini、all_ops_impl_mode.ini 等文件中的编译配置项(simplified_key_mode、impl_mode、auto_sync、compile_options)统一迁移为 CMake 声明式函数 add_kernel_sources() 的方式管理。
### 改动原因
原有配置方式需要手动维护多处配置文件(JSON/INI),容易遗漏且难以追溯配置来源。通过将配置下沉到各算子目录的 op_kernel/CMakeLists.txt 中,使配置与代码就近维护,降低出错概率。
### 改动方法
1. **新增 add_kernel_sources() CMake 函数**(cmake/func.cmake):算子通过在 op_kernel/CMakeLists.txt 中调用此函数声明编译参数(COMPUTE_UNITS、SIMPLIFIED_KEY、AUTO_SYNC、IMPL_MODE、OPTIONS),函数将配置收集到 CMake CACHE 变量列表中
2. **新增 gen_ops_compile_ini.py 脚本**:在编译阶段将 CMake 收集的配置列表生成 kernel-options-{soc_version}.ini 文件
3. **修改 build_binary_opc_gen_task.sh**:优先从新生成的 kernel-options-*.ini 读取 simplified_key 和 impl_mode 配置,找不到时降级到原有 ini 文件
4. **修改 gen_compile_option.sh**:优先从 kernel-options-*.ini 读取 auto_sync 和 compile_options,降级到 ascendc_config.json
5. **迁移 Add 算子配置**:将 Add 算子从 ascendc_config.json 迁移到 math/add/op_kernel/CMakeLists.txt,删除 math/add/op_host/config/ascend950/add_simplified_key.ini
6. **重构 get_op_type_from_op_name 函数**:从 gen_ops_info.cmake 移至 func.cmake,简化参数签名(移除 OP_DIR 参数)
7. **其他修复**:opp_uninstall.sh 修复变量名拼写错误(_module_apth → _module_path);gen_binary_info_config.py 将 WARNING 日志降级为 INFO
## 关联的Issue
- #1730
## 测试
- Add 算子的 kernel 编译配置已通过新的 CMake 方式验证
- 构建系统全量编译通过
- binary 编译流程(asc_opc)使用新配置文件生成的参数正确
## 文档更新
无
## 类型标签
- [ ] Bug修复
- [x] 新特性
- [ ] 性能优化
- [ ] 文档更新
- [x] 其他,请描述:构建系统重构
See merge request: cann/ops-math!3010 | 4 天前 |