| 基础API头文件自包含,优化算子编译性能
Co-authored-by: wuyang_hw<wuyang74@hisilicon.com>
# message auto-generated for no-merge-commit merge:
!254 merge basic_include into master
基础API头文件自包含,优化算子编译性能
Created-by: wuyang_hw
Commit-by: wuyang_hw
Merged-by: cann-robot
Description: ## 描述
**目标**:基础API头文件自包含,优化算子编译性能
**背景**:当前仓库头文件依赖较为混乱,存在过多的传导性包含、循环依赖、以及外部使用者需要包含一份大的头文件才能正确编译的情况。这增加了编译时间、难以追踪接口边界,并降低模块可维护性与可移植性。
**优化原则**:
- 单一包含原则: 每个外部 API 提供一个单一包含头文件,外部调用者仅包含该头文件即可访问该模块下所有 API。
- 最小依赖原则: 头文件应尽量减少包含其他头文件,避免传导性包含。
- 自闭环内部包含: 模块内部的头文件引用应形成可验证的依赖子图,避免跨模块的循环依赖。
- 明确边界: 所有对外 API 放在 include/下;内部实现放在 impl/。
## 关联的Issue
[https://gitcode.com/cann/asc-devkit/issues/1](https://gitcode.com/cann/asc-devkit/issues/1)
当前先解决单一头文件独立包含问题
## 测试
- 增加多版本编译用例看护后续接口变更兼容性。
- 经验证,适配后的算子编译性能提升10%-50%。
## 文档更新
## 类型标签
<!-- [x] 表示选中 -->
- [ ] Bug修复
- [ ] 新特性
- [x] 性能优化
- [ ] 文档更新
- [ ] 其他,请描述:
See merge request: cann/asc-devkit!254 | 3 个月前 |