| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
protobuf生成切换工程函数。 Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !781 merge 20260825-switch-cmake-protobuf-generate into master protobuf生成切换工程函数。 Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: ## 描述 protobuf生成切换工程函数。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 对比修改前后opbase包,一致。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:重构 See merge request: cann/opbase!781 | 12 天前 | |
refactor: 切换third-party依赖为cann-cmake公共仓接口下载 Co-authored-by: chensi79@huawei.com<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !431 merge cherry-pick-third-party into master refactor: 切换third-party依赖为cann-cmake公共仓接口下载 Created-by: chensi79 Commit-by: chensi79@huawei.com Merged-by: cann-robot Description: ## 描述 将 third-party 依赖(eigen、json/nlohmann_json、gtest、boost、mockcpp)的下载方式从本地 cmake/third_party/*.cmake 脚本切换为 cann-cmake 公共仓提供的 add_cann_third_party() 接口,并升级 CANN_CMAKE_TAG 至 master-016。 ### 改动原因 - 原有各 third-party cmake 脚本为各仓库独立维护,版本和下载逻辑不统一 - cann-cmake 公共仓已提供标准化的 add_cann_third_party() 宏,统一管理依赖下载与构建 - CANN_CMAKE_TAG master-009 不包含最新 third-party 目标名称映射,需升级到 master-016 ### 改动方法 1. **主构建 CMakeLists.txt**:将 include(eigen.cmake) 和 include(nlohmann_json.cmake) 替换为 add_cann_third_party(eigen) 和 add_cann_third_party(json) 2. **cmake/config.cmake**(UT/ST 构建): - 将 gtest/boost/mockcpp 的本地脚本替换为 add_cann_third_party() 调用 - 添加 mockcpp 对 boost 的构建依赖(add_dependencies) - 添加 GTest 目标别名(GTest::gtest → gtest)以保证向后兼容 3. **cmake/fetch_cann_cmake.cmake**:CANN_CMAKE_TAG 从 master-009 升级到 master-016 4. **tests 目录**: - tests/CMakeLists.txt:nlohmann_json 切换为 add_cann_third_party(json) - ST/UT CMakeLists.txt:mockcpp 链接从静态库路径改为 cmake target;补充 ${CMAKE_BINARY_DIR}/mockcpp/include/ 和 boost-1.87.0 头文件路径 ## 关联的Issue - #185 ## 测试 - UT/ST 编译验证通过 - mockcpp 链接方式变更后功能正常 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建系统重构 See merge request: cann/opbase!431 | 3 个月前 | |
ops-base安装权限统一 Co-authored-by: q00889097<qinhan10@huawei.com> # message auto-generated for no-merge-commit merge: !804 merge master into master ops-base安装权限统一 Created-by: qinhan123 Commit-by: q00889097 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 该 PR 旨在统一 ops-base(opbase)安装过程中的目录与文件权限处理:删除散落在安装、升级脚本中大量针对 script、bin、share/info、vendors 等目录以及 scene.info、version.info 等文件的 chmod 权限设置逻辑,避免安装流程中对权限的重复或分散控制,使权限管理趋于统一 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!804 | 1 天前 | |
refactor(aicpu_common): 头文件源码目录整改 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !710 merge aicpu-common-header-split into master refactor(aicpu_common): 头文件源码目录整改 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 将 pkg_inc/op_common/aicpu_common/context 下 **35 个头文件**按「谁在用」拆分到两处,使对外契约面与 opbase 内部实现在源码目录上物理隔离。**头文件内容零改动,全部为 git mv 重命名。** | 分类 | 数量 | 新位置 | | --- | --- | --- | | opbase 私有 | 17 | aicpu_common/context/{common,cpu_proto}/(与对应 .cc 同级) | | 对外公开 | 18 | include/op_common/aicpu_common/context/{common,cpu_proto,cust_op,utils}/ | 公开集 18 = 15 个被 ops-cv/ops-math/ops-nn/ops-transformer 直接 include + 3 个传递依赖(cpu_kernel_register.h、device_cpu_kernel.h 经 node_def_builder.h;log_weak.h 经 log.h)。已验证该集合闭合:**没有任何公开头 include 私有头**,依赖方向单向为 私有 → 公开。 **硬约束:装包产物零变化。** 装包目的地路径一律不动,cmake/package.cmake 只改 install 的**源路径**;opbase.xml / AicpuCommonInc.xml 无需改动,下游四仓零感知。 配套构建改动(2 个文件): - aicpu_common/context/CMakeLists.txt:aicpu_context_headers 的 include 目录 4 → 8。必需——.cc 里的 include 全是裸文件名,跨目录必须显式在 path 上。 - cmake/package.cmake 三处: 1. pkg_inc/aicpu_common 装包拆为「公开侧整目录 install + 私有 17 头 install(FILES ... PERMISSIONS)」,合并回同一目的地。私有侧不能整目录装——该目录下还有 .cc/.cpp/.proto/CMakeLists.txt,以及不属于交付集、原本就不打包的 cust_op/cust_dlog_record.h。 2. aicpu_headers_src 那 8 个路径前缀改为 include/op_common/aicpu_common/context/。 3. include/op_common 整目录 install **新增** PATTERN "aicpu_common" EXCLUDE。必需——否则 18 个公开头会被扫进 $(TARGET_ENV)/include/op_common/aicpu_common/** 产生冗余副本,且 opbase.xml 里 <copy_all>true</copy_all> 会让它们进 .run 包。 ## 关联的Issue #298 ## 测试 验证环境:远端 aarch64 + CANN 9.2.0(V100R001C11B134),gcc 13.3.0。 **1. 完整 .run 编包双向比对(核心验收)** 先编改动后版本,再 git reset --hard 回基线提交重编,比对两次 CPack makeself_staging(即打进 .run 的完整文件树): $ diff -rq baseline after | grep "^Only in" (无输出:两侧文件集合完全相同) $ diff baseline.perm after.perm 差异行数: 0 **211 个文件中 208 个逐字节一致**,其余 3 个全部是构建时间戳产物(.run 自解压包自身、opp/version.info 与 share/info/opbase/version.info 的 timestamp= 行)。权限位 0 差异。 四项重点核对(在真实 .run 内容上): | 检查项 | 期望 | 实测 | | --- | --- | --- | | pkg_inc/aicpu_common/** 头文件数 | 35 | 35 ✅ | | include/aicpu/ 头文件数 | 8 | 8 ✅ | | include/op_common/ 下无 aicpu_common | 是 | 实际 log op_graph op_host op_kernel ✅ | | cust_op/ 未混入 cust_dlog_record.h | 是 | 实际只有 cust_cpu_utils.h ✅ | **2. opbase aicpu 编译** | 侧 | 目标 | 强制重编文件数 | 错误 | | --- | --- | --- | --- | | host | aicpu_context_host + aicpu_nodedef_host | 30 | 0 | | device | aicpu_context + aicpu_nodedef + aicpu_cust_log | 54 | 0 | (首次 make 报 "Built target" 未真正重编会使验证失效,已 touch 全部 .cc/.cpp 强制重编,上表为强制重编后结果——84 个源文件真实走过新的 8 条 include 路径。) **3. 下游四仓编包,全部通过** | 仓 | 产物 | | --- | --- | | ops-math | cann-910b-ops-math_9.1.0_linux-aarch64.run | | ops-nn | cann-910b-ops-nn_9.1.0_linux-aarch64.run | | ops-cv | cann-910b-ops-cv_9.1.0_linux-aarch64.run | | ops-transformer | cann-910b-ops-transformer_9.1.0_linux-aarch64.run(全量 --pkg,574 MB) | **未覆盖项(如实说明)**:改动后的 opbase 包未安装进远端 CANN(本包版本 9.0.0、远端 CANN 9.2.0,覆盖安装有降级风险),因此下游四仓构建并未真正消费本次改动的 opbase——但由上述产物零变化的结论,功能上等价。UT / example 未执行;CANN 内部 XML 装包链路未在内部构建上实测。 ## 文档更新 无。本次仅调整源码目录结构与 install 源路径,未涉及对外文档。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码结构重构(源码目录按对外可见性拆分,装包产物零变化) See merge request: cann/opbase!710 | 21 天前 | |
refactor: 去除log.h对dlog_pub.h的依赖,改用extern "C"前向声明 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !553 merge master into master refactor: 去除log.h对dlog_pub.h的依赖,改用extern "C"前向声明 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 去除 include/op_common/log/log.h 对 dlog_pub.h 的编译期依赖,改用 extern "C" 前向声明 CheckLogLevel 与 DlogRecord,并在头文件内定义日志级别常量(DLOG_DEBUG/INFO/WARN/ERROR)与算子模块 ID 常量 OP_MODULE_ID,从而降低头文件耦合。同时将 cmake/variables.cmake 中遗漏的 tiling_util.cpp 纳入 tiling 源文件编译,并补充预留接口文档。 ### 改动详情 - **include/op_common/log/log.h** - 移除 #include "dlog_pub.h",改为 extern "C" 前向声明 CheckLogLevel(int32_t, int32_t) 与 DlogRecord(int32_t, int32_t, const char*, ...) - 新增带 #ifndef 守卫的日志级别常量 DLOG_DEBUG=0、DLOG_INFO=1、DLOG_WARN=2、DLOG_ERROR=3 - 新增 constexpr int32_t OP_MODULE_ID = 63 - 将 OP_LOGE_LIBOPAPI_REPORT 及 D_OP_LOGI/W/E/D 等日志宏内的 OP 替换为 OP_MODULE_ID - **cmake/variables.cmake** - 将 src/op_common/op_host/tiling_util.cpp 加入 OPS_BASE_TILING_SRC 源文件列表,使其参与编译 - **docs/zh/api/op_common/reserved_interface_op_common.md** - 新增 DLOG_DEBUG/INFO/WARN/ERROR、OP_MODULE_ID、CheckLogLevel、DlogRecord 等预留接口说明 ## 关联的Issue - #232 ## 测试 - 编译验证:log.h 解耦后头文件包含链路正常,相关算子编译通过;tiling_util.cpp 纳入编译后构建正常 ## 文档更新 - 更新 docs/zh/api/op_common/reserved_interface_op_common.md,补充 DLOG_*、OP_MODULE_ID、CheckLogLevel、DlogRecord 预留接口说明 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:重构解耦头文件依赖 See merge request: cann/opbase!553 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 12 天前 | ||
| 3 个月前 | ||
| 1 天前 | ||
| 21 天前 | ||
| 2 个月前 |