| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
switch to using common compilation options Co-authored-by: zhaoyingdong<zhaoyingdong@huawei.com> # message auto-generated for no-merge-commit merge: !506 merge master into master switch to using common compilation options Created-by: zhaoyingdong Commit-by: zhaoyingdong Merged-by: cann-robot Description: ## 描述 switch to using common compilation options ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!506 | 2 个月前 | |
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 个月前 | |
feat: support deb/rpm package publishing Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !678 merge master into master feat: support deb/rpm package publishing Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 为 opbase 仓库支持 deb/rpm 包发布能力,参考 ops-math/4178 PR 的改动。 ### 改动原因 ops-math 已支持 deb/rpm 包发布,opbase 仓需要对齐该能力,使 opbase 能在 Debian/Ubuntu 和 RHEL/CentOS 等系统上通过原生包管理器安装。 ### 改动方法 1. **CMakeLists.txt**: 新增 PACKAGE_TYPE cache 变量,支持 run/rpm/deb/all 四种包类型 2. **build.sh**: 新增 --pkg-type 参数,实现 rpm/deb/all 构建流程(含 clean_rpm_deb_package / collect_rpm_deb_package / find_rpm_deb_package) 3. **cmake/fetch_cann_cmake.cmake**: cann-cmake 从 master-026 升级到 master-041(新版内置 deb/rpm 打包能力),移除固定 URL_HASH 4. **cmake/package.cmake**: set_cann_cpack_config 传入 PACKAGE_TYPE;移除 path.cfg(改由新 cann-cmake 统一处理) 5. **scripts/package/module/ascend/EngineeringFiles.xml**: 删除(新 cann-cmake 不再依赖该文件) 6. **scripts/package/opbase/opbase.xml**: scene.info install_mod 调整为 640;移除 EngineeringFiles block 引用 7. **scripts/tools/third_lib_download.py**: cann-cmake 下载 URL 更新为 master-041 与 ops-math/4178 的主要差异: - opbase 的 build.sh 未拆分,不涉及 ops-math 的模块化脚本改造 - opbase 不依赖 whl 包,无需 custom_postinst.sh / custom_prerm.sh ## 测试 - 通过 bash build.sh --pkg --pkg-type=all -j32 成功构建 run/rpm/deb 三种包 - 三种包分别通过各自系统包管理器安装后,对安装内容进行全量对比: - RPM 与 DEB 安装后内容完全一致(210 个文件,MD5 全部匹配) - RUN 与 RPM/DEB 共有文件内容、软链接完全一致 - 差异项仅为各包管理器自有的运维文件(如 RUN 安装器生成的软链接/卸载脚本/元数据),非包内容差异 ## 关联的Issue - #289 ## 文档更新 无 ## 类型标签 - [x] 新特性 See merge request: cann/opbase!678 | 1 个月前 | |
修改引用cmake公共仓中的接口 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !320 merge master into master 修改引用cmake公共仓中的接口 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改引用cmake公共仓中的接口 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!320 | 4 个月前 | |
refactor(aicpu_common): 按对外可见性拆分头文件源码目录 将 pkg_inc/op_common/aicpu_common/context 下 35 个头文件按"谁在用" 拆分到两处,使对外契约面与 opbase 内部实现在源码目录上物理隔离: - 17 个仅 opbase 使用的头 -> aicpu_common/context/{common,cpu_proto} (框架 cache/sharder/threadpool/async + cpu_proto 的 *_impl,与对应 .cc 同级) - 18 个对外公开的头 -> include/op_common/aicpu_common/context/ (15 个被 ops-cv/math/nn/transformer 直接 include,加 3 个传递依赖: cpu_kernel_register.h、device_cpu_kernel.h 经 node_def_builder.h; log_weak.h 经 log.h) 头文件内容零改动;装包目的地路径一律不变,package.cmake 只改 install 的源路径,下游四仓零感知。 配套构建改动: - aicpu_context_headers 的 include 目录 4 -> 8(.cc 里 include 均为裸文件名, 跨目录必须显式在 path 上) - package.cmake 中 pkg_inc/aicpu_common 装包拆为「公开侧整目录 install + 私有 17 头 install(FILES ... PERMISSIONS)」,合并回同一目的地 - include/op_common 整目录 install 新增 PATTERN "aicpu_common" EXCLUDE, 避免公开头被扫进 include/op_common 产生冗余副本 验证(远端 aarch64 + CANN 9.2.0): - 完整 .run 编包基线/改动后双向比对:211 个文件集合完全相同,208 个逐字节 一致,其余 3 个仅因构建时间戳而异;权限位 0 差异 - opbase aicpu host/device 两侧共 84 个源文件强制重编,零错误 - ops-math/ops-nn/ops-cv/ops-transformer 四仓编包全部通过 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MfMxjhHAYKukSCh5pKfjeG | 29 天前 | |
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 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 29 天前 | ||
| 2 个月前 |