本项目是CANN算子库的基础框架库,为算子提供公共依赖文件和基础调度能力。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
日志接口冗余括号清理 Co-authored-by: LuckySun<sunwenlong8@huawei.com> # message auto-generated for no-merge-commit merge: !420 merge master into master 日志接口冗余括号清理 Created-by: LuckySun Commit-by: LuckySun Merged-by: cann-robot Description: ## 描述 清理日志接口中的冗余括号 清理pr模板中举例的issue编号导致新建pr自动关联编号为123的issue的问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!420 | 1 个月前 | |
refactor: 更新 clang-format 规范并对全量代码进行格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !535 merge master into master refactor: 更新 clang-format 规范并对全量代码进行格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 本 PR 更新 .clang-format 格式化规范配置,并依据新规则对全量代码进行格式化重排,同时调整 classify_rule.yaml 中 op_host 目录的归属。 ### 改动原因 - 原 AlignAfterOpenBracket: AlwaysBreak 规则会在左括号后强制换行,导致部分本可单行容纳的函数声明/调用被拆散,降低代码可读性。 - 调整为 Align 并新增 PenaltyBreakAssignment: 1000,使格式化器优先在左括号后对齐参数,仅在超长时才换行。 - ops-base/include/op_common/op_host/ 目录维护责任由 HPTG2 团队调整至 VC2 团队,在 classify_rule.yaml 中同步更新归属。 ### 改动方法 1. 修改 .clang-format:AlignAfterBracket 由 AlwaysBreak 改为 Align,新增 PenaltyBreakAssignment: 1000。 2. 修改 classify_rule.yaml:将 ops-base/include/op_common/op_host/ 从 HPTG2@ops-base 的 release style 列表移除,加入 VC2@ops-base 的 release style 列表。 3. 依据新的 .clang-format 规则对以下范围共 282 个文件进行全量格式化(+10422 / -12142): - 测试文件(tests/):61 个 - composite_op(src/nnopbase/composite_op/):43 个 - atvoss(pkg_inc/op_common/atvoss/):43 个 - 头文件(include/):32 个 - individual_op(src/nnopbase/individual_op/):31 个 - common(src/nnopbase/common/):28 个 - aicpu_common(pkg_inc/op_common/aicpu_common/):24 个 - op_common/aicpu 源码(src/op_common/、src/nnopbase/aicpu/):16 个 - 其他(aicpu_common/context 等):4 个 主要格式化变化:指针/引用贴类型名(const void* const、const auto&)、模板尖括号前加空格(template <typename T>)、单行可容纳的函数体折叠为一行、函数参数在左括号后对齐而非强制换行、宏续行符统一对齐。 ## 关联的Issue - #226 ## 测试 纯代码格式化变更,不涉及逻辑修改;通过编译验证及存量单元测试(ut)/二级冒烟测试(st)验证格式化未改变代码语义。 ## 文档更新 无文档更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化规范重构 See merge request: cann/opbase!535 | 22 天前 | |
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 | 16 天前 | |
调整文件命名含义 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !627 merge master into master 调整文件命名含义 Created-by: gitcode-chenjiao Commit-by: chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 调整文件命名含义 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!627 | 1 天前 | |
revet//refactor: log.h使用toolchain/slog.h替代extern声明,去除dlog_pub.h依赖 Co-authored-by: cann-robot<cann@cann.team> # message auto-generated for no-merge-commit merge: !603 merge revert-mr-600-1783148880480-auto into master revet//refactor: log.h使用toolchain/slog.h替代extern声明,去除dlog_pub.h依赖 Created-by: cann-robot Commit-by: cann-robot Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!603 | 6 天前 | |
clean_code Co-authored-by: xufeng12121<1074805447@qq.com> # message auto-generated for no-merge-commit merge: !608 merge brc into master clean_code Created-by: xufeng12121 Commit-by: xufeng12121 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 编译告警:将字符串或指针作为函数参数时,在函数体中应检查参数是否为NULL 修改:增加空指针校验,OP_CHECK_NULL_WITH_CONTEXT(context_, outStorageShape); ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/opbase/issues/249 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!608 | 4 天前 | |
fix: 移除aclnnop目录的entity属性,修复重装时误删ops-math共享文件的问题 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !593 merge master into master fix: 移除aclnnop目录的entity属性,修复重装时误删ops-math共享文件的问题 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!593 | 8 天前 | |
修复reduce模版非连续准入条件bug Co-authored-by: sunzhongwen1<sunzhongwen1@huawei.com> # message auto-generated for no-merge-commit merge: !629 merge bugfix/checkisnoncontiguous into master 修复reduce模版非连续准入条件bug Created-by: sunzhongwen1 Commit-by: sunzhongwen1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改reduce模板的非连续判断,遍历所有轴时如果存在非连续的轴直接跳出循环返回非连续,解决非连续场景判断为连续的bug。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!629 | 1 天前 | |
修复手写框架网络kernelPath因未初始化丢失导致静态kernel使能失败问题 Co-authored-by: pengjiahao96<pengjiahao@huawei.com> # message auto-generated for no-merge-commit merge: !624 merge master into master 修复手写框架网络kernelPath因未初始化丢失导致静态kernel使能失败问题 Created-by: pengjiahao96 Commit-by: pengjiahao96 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 在调用aclnnReselectKernelWithPath时,将外部传入的变量kernelBasePath用线程变量全局保存,在使用时获取,避免该变量因错误提前返回时丢失。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> #issue 257 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!624 | 1 天前 | |
refactor: 更新 clang-format 规范并对全量代码进行格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !535 merge master into master refactor: 更新 clang-format 规范并对全量代码进行格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 本 PR 更新 .clang-format 格式化规范配置,并依据新规则对全量代码进行格式化重排,同时调整 classify_rule.yaml 中 op_host 目录的归属。 ### 改动原因 - 原 AlignAfterOpenBracket: AlwaysBreak 规则会在左括号后强制换行,导致部分本可单行容纳的函数声明/调用被拆散,降低代码可读性。 - 调整为 Align 并新增 PenaltyBreakAssignment: 1000,使格式化器优先在左括号后对齐参数,仅在超长时才换行。 - ops-base/include/op_common/op_host/ 目录维护责任由 HPTG2 团队调整至 VC2 团队,在 classify_rule.yaml 中同步更新归属。 ### 改动方法 1. 修改 .clang-format:AlignAfterBracket 由 AlwaysBreak 改为 Align,新增 PenaltyBreakAssignment: 1000。 2. 修改 classify_rule.yaml:将 ops-base/include/op_common/op_host/ 从 HPTG2@ops-base 的 release style 列表移除,加入 VC2@ops-base 的 release style 列表。 3. 依据新的 .clang-format 规则对以下范围共 282 个文件进行全量格式化(+10422 / -12142): - 测试文件(tests/):61 个 - composite_op(src/nnopbase/composite_op/):43 个 - atvoss(pkg_inc/op_common/atvoss/):43 个 - 头文件(include/):32 个 - individual_op(src/nnopbase/individual_op/):31 个 - common(src/nnopbase/common/):28 个 - aicpu_common(pkg_inc/op_common/aicpu_common/):24 个 - op_common/aicpu 源码(src/op_common/、src/nnopbase/aicpu/):16 个 - 其他(aicpu_common/context 等):4 个 主要格式化变化:指针/引用贴类型名(const void* const、const auto&)、模板尖括号前加空格(template <typename T>)、单行可容纳的函数体折叠为一行、函数参数在左括号后对齐而非强制换行、宏续行符统一对齐。 ## 关联的Issue - #226 ## 测试 纯代码格式化变更,不涉及逻辑修改;通过编译验证及存量单元测试(ut)/二级冒烟测试(st)验证格式化未改变代码语义。 ## 文档更新 无文档更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化规范重构 See merge request: cann/opbase!535 | 22 天前 | |
open external include files Co-authored-by: 张磊<zhanglei121@huawei.com> # message auto-generated for no-merge-commit merge: !376 merge master into master open external include files Created-by: zl_hw Commit-by: 张磊 Merged-by: cann-robot Description: ## 描述 opbase对外头文件目录整改 ## 关联的Issue https://gitcode.com/cann/opbase/issues/156 ## 测试 ut/st ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!376 | 1 个月前 | |
增加静态算子包加载接口,允许传入用户自定义路径 Co-authored-by: ren-botao<renbotao@h-partners.com> # message auto-generated for no-merge-commit merge: !598 merge master into master 增加静态算子包加载接口,允许传入用户自定义路径 Created-by: pengjiahao96 Commit-by: ren-botao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增 aclnnReselectStaticKernelWithPath 接口,支持使用自定义目录下的静态算子包。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#250](https://gitcode.com/cann/opbase/issues/250) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 新增了 aclnnReselectStaticKernelWithPath 相关的UT测试用例,构造缓存,调用接口,检测缓存是否被清理,static kernel是否增量更新 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!598 | 3 天前 | |
调整README大纲和mdlint/link等低错全量修复 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !324 merge master into master 调整README大纲和mdlint/link等低错全量修复 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 调整README大纲和mdlint/link低错修复 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [121](https://gitcode.com/cann/opbase/issues/121) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> README、QUICKSTART、doc整个目录 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!324 | 2 个月前 | |
添加opbase_headers,支撑上层组件多仓联编链接opbase_headers Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !549 merge 20260623-add-opbase-headers into master 添加opbase_headers,支撑上层组件多仓联编链接opbase_headers Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: ## 描述 添加opbase_headers,支撑上层组件多仓联编链接opbase_headers。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 对比修改前后opbase包二进制。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!549 | 17 天前 | |
调整README大纲和mdlint/link等低错全量修复 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !324 merge master into master 调整README大纲和mdlint/link等低错全量修复 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 调整README大纲和mdlint/link低错修复 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [121](https://gitcode.com/cann/opbase/issues/121) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> README、QUICKSTART、doc整个目录 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!324 | 2 个月前 | |
init | 9 个月前 | |
规范化OAT.xml中许可证声明形式 Co-authored-by: chenyx2012<975102023@qq.com> # message auto-generated for no-merge-commit merge: !268 merge master into master 规范化OAT.xml中许可证声明形式 Created-by: chenyx_2012 Commit-by: chenyx2012 Merged-by: cann-robot Description: ## 描述 规范化OAT.xml中许可证声明形式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!268 | 3 个月前 | |
刷新cann版本描述 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !611 merge master into master 刷新cann版本描述 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 刷新cann版本描述 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> OK ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> README.md和quick_install.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!611 | 3 天前 | |
refactor: 移除三方库 CMake 构建脚本,切换公共仓下载接口 Co-authored-by: chensi79@huawei.com<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !415 merge master into master refactor: 移除三方库 CMake 构建脚本,切换公共仓下载接口 Created-by: chensi79 Commit-by: chensi79@huawei.com Merged-by: cann-robot Description: ## 描述 移除本地三方库 CMake 构建脚本(boost、eigen、gtest、mockcpp、nlohmann_json),切换为通过公共仓接口下载 third-party 插件。 ### 改动原因 原方案在每个三方库的 CMake 脚本中分别使用 FetchContent/ExternalProject_Add 从远程 URL 下载和构建,各脚本逻辑重复,下载源地址分散,不便于统一管理。切换到公共仓接口后,三方库的获取由统一入口管理,简化构建流程。 ### 改动方法 删除以下 5 个 CMake 构建脚本: - cmake/third_party/boost.cmake(FetchContent 方式下载 boost 1.87.0) - cmake/third_party/eigen.cmake(ExternalProject 方式下载 eigen 5.0.0) - cmake/third_party/gtest.cmake(find_package + ExternalProject 方式管理 gtest 1.14.0) - cmake/third_party/mockcpp.cmake(ExternalProject 方式下载 mockcpp 2.7) - cmake/third_party/nlohmann_json.cmake(ExternalProject 方式下载 json 3.11.3) 三方库获取改为由公共仓统一接口提供。 ## 关联的Issue - https://gitcode.com/cann/opbase/issues/186 ## 测试 本地构建测试通过,二级冒烟测试通过。 ## 文档更新 NA ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!415 | 1 个月前 | |
修改三方件boost、mockcpp使用场景为test Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !195 merge master into master 修改三方件boost、mockcpp使用场景为test Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改三方件boost、mockcpp使用场景为test ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!195 | 4 个月前 | |
opbase的aicpu编译切换到device独立工程中 Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !484 merge 20260604-aicpu-switch-to-device-project into master opbase的aicpu编译切换到device独立工程中 Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: ## 描述 opbase的aicpu编译切换到device独立工程中。 - 支持--extra-cmake-args=ENABLE_BUILD_DEVICE=OFF时跳过device侧库编译打包 ## 关联的Issue https://gitcode.com/cann/opbase/issues/198 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 对比修改前后opbase包二进制,差异合理。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!484 | 1 个月前 | |
refactor: 更新 clang-format 规范并对全量代码进行格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !535 merge master into master refactor: 更新 clang-format 规范并对全量代码进行格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 本 PR 更新 .clang-format 格式化规范配置,并依据新规则对全量代码进行格式化重排,同时调整 classify_rule.yaml 中 op_host 目录的归属。 ### 改动原因 - 原 AlignAfterOpenBracket: AlwaysBreak 规则会在左括号后强制换行,导致部分本可单行容纳的函数声明/调用被拆散,降低代码可读性。 - 调整为 Align 并新增 PenaltyBreakAssignment: 1000,使格式化器优先在左括号后对齐参数,仅在超长时才换行。 - ops-base/include/op_common/op_host/ 目录维护责任由 HPTG2 团队调整至 VC2 团队,在 classify_rule.yaml 中同步更新归属。 ### 改动方法 1. 修改 .clang-format:AlignAfterBracket 由 AlwaysBreak 改为 Align,新增 PenaltyBreakAssignment: 1000。 2. 修改 classify_rule.yaml:将 ops-base/include/op_common/op_host/ 从 HPTG2@ops-base 的 release style 列表移除,加入 VC2@ops-base 的 release style 列表。 3. 依据新的 .clang-format 规则对以下范围共 282 个文件进行全量格式化(+10422 / -12142): - 测试文件(tests/):61 个 - composite_op(src/nnopbase/composite_op/):43 个 - atvoss(pkg_inc/op_common/atvoss/):43 个 - 头文件(include/):32 个 - individual_op(src/nnopbase/individual_op/):31 个 - common(src/nnopbase/common/):28 个 - aicpu_common(pkg_inc/op_common/aicpu_common/):24 个 - op_common/aicpu 源码(src/op_common/、src/nnopbase/aicpu/):16 个 - 其他(aicpu_common/context 等):4 个 主要格式化变化:指针/引用贴类型名(const void* const、const auto&)、模板尖括号前加空格(template <typename T>)、单行可容纳的函数体折叠为一行、函数参数在左括号后对齐而非强制换行、宏续行符统一对齐。 ## 关联的Issue - #226 ## 测试 纯代码格式化变更,不涉及逻辑修改;通过编译验证及存量单元测试(ut)/二级冒烟测试(st)验证格式化未改变代码语义。 ## 文档更新 无文档更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化规范重构 See merge request: cann/opbase!535 | 22 天前 | |
feat: 完善 QUICKSTART 文档并增强 install_deps.sh 构建依赖安装支持 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !424 merge master into master feat: 完善 QUICKSTART 文档并增强 install_deps.sh 构建依赖安装支持 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 ### 改动概述 本 PR 包含 3 个提交,主要改进了快速入门文档和依赖安装脚本: 1. **install_deps.sh 增强**( fix: fix install_deps.sh for encoding, Debian 13 support, and add googletest installation) - 修复 Debian 13+ 兼容性:检测 /etc/debian_version 版本号,Debian 10 及以上直接安装系统默认 gcc/g++,而非强制安装 gcc-9/g++-9 - 新增 install_googletest() 函数:自动检测并从 GitHub 下载 googletest release-1.11.0 源码编译安装,UT 测试依赖得以自动解决 - 修复 install_patch() 函数中提示信息的中英文混杂和逻辑错误(安装失败提示与未安装提示文案错位) - 将 install_git() 中的系统判断扩展支持 euler(EulerOS) - 多处日志提示统一改为英文 2. **QUICKSTART.md 新增 UT 运行指南**(docs: add guidance for running already-compiled UT tests in QUICKSTART.md) - 新增"单独运行已编译的UT测试"章节:说明如何在编译后直接运行 nnopbase_utest 和 op_common_utest 二进制文件 - 提供环境变量设置方法和 googletest 过滤用例的用法说明 3. **QUICKSTART.md 文档去重**(docs: remove duplicate description in QUICKSTART.md) - 移除"执行UT"章节中重复的 bash build.sh -u 示例 - 将 UT 相关内容重新组织为"编译并执行UT"和"单独运行已编译的UT测试"两个子章节 ## 关联的Issue - https://gitcode.com/cann/opbase/issues/182 https://gitcode.com/cann/opbase/issues/174 https://gitcode.com/cann/opbase/issues/175 https://gitcode.com/cann/opbase/issues/176 https://gitcode.com/cann/opbase/issues/177 https://gitcode.com/cann/opbase/issues/178 ## 测试 - 在 Debian 13 环境验证 gcc/g++ 安装逻辑正确切换 - 在已有 googletest 的环境中验证检测跳过逻辑 - 验证 UT 编译和单独运行流程符合文档描述 ## 文档更新 - 更新了 docs/QUICKSTART.md,重新组织 UT 执行相关章节 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!424 | 1 个月前 | |
docs: 完善安装文档并修正仓库名引用 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !348 merge master into master docs: 完善安装文档并修正仓库名引用 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 修正文档中仓库名引用(ops-math → opbase),完善手动安装环境的基础依赖说明,并移除不再需要的 gawk 依赖。 具体改动: - **README.md**:修正源码下载命令中的仓库地址(ops-math → opbase),优化 WebIDE 环境说明的位置和表述 - **docs/zh/install/quick_install.md**:补充手动安装方式的描述信息,修正 Docker 镜像说明中的仓库名引用,新增"安装基础依赖"章节,列出全部依赖项及 install_deps.sh 一键安装方式 - **install_deps.sh**:移除 install_gawk 函数及其调用(gawk 不再作为项目依赖) - **requirements.txt**:补充文件末尾换行符 ## 关联的Issue - #136 ## 测试 文档变更,通过审阅验证内容准确性。 ## 文档更新 本次 PR 本身即为文档更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!348 | 2 个月前 | |
opbase修改适配多仓联编。 Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !500 merge 20260608-adapt-superbuild into master opbase修改适配多仓联编。 Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: ## 描述 opbase修改适配多仓联编。 ## 关联的Issue https://gitcode.com/cann/opbase/issues/206 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 对比修改前后opbase包二进制。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!500 | 1 个月前 |
opbase
🔥Latest News
- [2025/12] 支持kirinx90,支持离线编译。
- [2025/09] opbase项目首次上线。
🚀概述
opbase是CANN (Compute Architecture for Neural Networks)算子库依赖的基础框架库,其提供基础的调度能力和公共依赖项,包括公共的头文件、结构体、调度框架等。关于CANN算子库请访问ops-math、ops-nn、ops-cv、ops-transformer获取算子源码实现详情。

📌版本配套
本项目源码会跟随CANN软件版本发布,关于CANN软件版本与本项目标签的对应关系请参阅release仓库中的相应版本说明。 请注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与Gitcode标签源码,使用master分支可能存在版本不匹配的风险。
🛠️环境准备
环境部署是体验本项目能力的前提,请先完成NPU驱动、CANN包安装等,确保环境正常。
⬇️源码下载
环境准备好后,下载与CANN版本配套的分支源码,命令如下,${tag_version}替换为分支标签名。
说明:若环境中已存在配套分支源码,可跳过本步骤。
git clone -b ${tag_version} https://gitcode.com/cann/opbase.git
📖学习教程
💬相关信息
本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。