本项目是CANN算子库的基础框架库,为算子提供公共依赖文件和基础调度能力。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
codecheck任务修改 Co-authored-by: chenyajie<chenyajie6@huawei.com> # message auto-generated for no-merge-commit merge: !724 merge master into master codecheck任务修改 Created-by: yajie_caroline Commit-by: chenyajie Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!724 | 26 天前 | |
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 | 2 个月前 | |
升级 cann-cmake 版本到 master-049 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !725 merge master into master 升级 cann-cmake 版本到 master-049 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!725 | 25 天前 | |
升级 cann-cmake 版本到 master-049 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !725 merge master into master 升级 cann-cmake 版本到 master-049 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!725 | 25 天前 | |
feat(fallback 2stages) Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !740 merge f081401 into master feat(fallback 2stages) Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 为 op fallback 执行路径新增两阶段(2-stage)执行机制,将原有的单阶段 EXEC_OPAPI_CMD(Prepare + Launch 同步串行)拆分为独立的 Prepare 阶段与 Launch 阶段,使执行图能够在 Prepare 阶段完成算子执行器与 workspace 资源的准备,并在后续合适时机再触发 Launch,为调度优化提供基础。 ### 改动内容 **include/op_common/op_graph/op_fallback.h** - 新增宏 CANN_OPS_OPB_ASYN_EXEC_ACLNN:仅完成 Prepare 阶段工作——获取 ResetCacheThreadLocal、{aclnn_api}GetWorkspaceSize、{aclnn_api} 三个函数地址;创建 OpApiParams 对象封装 executor、op_api_func 与转换后的参数列表;将 OpApiParams 通过 SetOpApiParamsWithDefaultDeleter 托管给 host_api_ctx 管理生命周期;调用 GetWorkspaceSize 获取 workspace 大小并通过 SetWorkspaceSizes 设置到上下文,供后续 Launch 阶段使用。 **include/op_common/op_graph/op_fallback_internal.h** - 新增 aclIntArray、aclFloatArray、aclBoolArray 的创建与销毁函数指针类型别名(_aclCreateIntArray/_aclDestroyIntArray 等),补齐原有仅覆盖 aclTensor/aclScalar/aclTensorList 的类型支持。 - 新增两阶段执行所需的内部类型与接口: - OpApiAnyValue(带析构器的通用参数容器)与 OpApiAnyValueDeleter - OpApiFunc2Stage(两阶段 Launch 函数指针类型) - OpApiParams(封装 converted_params、executor、op_api_func,作为 Prepare 阶段产出传递给 Launch 阶段) - 新增 Collect 重载集与 CollectConvertedTypes 模板:为 aclTensor/aclScalar/aclIntArray/aclBoolArray/aclTensorList 等类型分别绑定对应的析构器并收集到 OpApiParams.converted_params,确保两阶段分离后参数资源在 Launch 完成后仍能正确释放。 - 新增 op_execute_prepare_context.h、op_execute_launch_context.h 头文件依赖。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> - #299 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 本 PR 未包含文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!740 | 21 天前 | |
CleanCode修改 Co-authored-by: h1234515<huangzhiyuan21@huawei.com> # message auto-generated for no-merge-commit merge: !709 merge reduce into master CleanCode修改 Created-by: h1234515 Commit-by: h1234515 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> CleanCode修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/opbase/issues/307 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!709 | 28 天前 | |
升级 cann-cmake 版本到 master-049 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !725 merge master into master 升级 cann-cmake 版本到 master-049 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!725 | 25 天前 | |
移除mc2 ccu适配流程中的冗余代码 Co-authored-by: jiachengtang<tangjiacheng7@huawei.com> # message auto-generated for no-merge-commit merge: !731 merge master into master 移除mc2 ccu适配流程中的冗余代码 Created-by: jiachengtang Commit-by: jiachengtang Merged-by: cann-robot Description: ## 描述 移除了Pr700中引入的不使用的代码段 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!731 | 21 天前 | |
fix: isolate nnopbase ut dump dependencies Co-authored-by: liuyi424<liuyi424@huawei.com> # message auto-generated for no-merge-commit merge: !745 merge fix_ut into master fix: isolate nnopbase ut dump dependencies Created-by: liuyi424 Commit-by: liuyi424 Merged-by: cann-robot Description: ## 描述 OpInfoRecordUtest.Utest_OpInfoSerialize 会通过 OpInfoDump() 调用 Adx::AdumpSaveToFile 写入算子信息 json。原逻辑虽然在单测文件内定义了局部 AdumpSaveToFile stub,但 nnopbase_utest 仍链接真实的 libascend_dump.so、libruntime.so 和 libacl_rt.so,导致 UT 依赖真实 dump 库及其运行环境。真实 dump 库落盘失败或本地/CI 环境缺少依赖库时,OpInfoDump() 可能返回失败,引发用例不稳定。 本次修改: - 将 AdumpSaveToFile 从单测局部实现迁移到公共 dump stub,统一隔离 UT 对 dump API 的依赖。 - 补齐 AdumpRegisterCallback、AdumpPrintSetConfig、aclrtBinaryUnLoad、aclsysGetVersionNum 等 UT 所需 stub。 - 调整 nnopbase_utest 链接依赖,移除真实 libruntime.so、libascend_dump.so、libacl_rt.so,避免 UT 依赖真实 dump 落盘及 runtime/acl_rt 传递依赖。 ## 关联的Issue 关联issue [#314](https://gitcode.com/cann/opbase/issues/314) ## 测试 - ASCEND_HOME_PATH=/usr/local/Ascend/cann cmake --build build --target nnopbase_utest -- -j8 - ASCEND_HOME_PATH=/usr/local/Ascend/cann LD_LIBRARY_PATH=/usr/local/Ascend/cann-9.2.0/x86_64-linux/lib64:/usr/local/Ascend/cann/lib64:$LD_LIBRARY_PATH ./nnopbase_utest --gtest_filter='OpInfoRecordUtest.Utest_OpInfoSerialize' --gtest_brief=1 - ASCEND_HOME_PATH=/usr/local/Ascend/cann LD_LIBRARY_PATH=/usr/local/Ascend/cann-9.2.0/x86_64-linux/lib64:/usr/local/Ascend/cann/lib64:$LD_LIBRARY_PATH ./nnopbase_utest 全量 UT 结果:1041 tests passed。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!745 | 21 天前 | |
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 | 2 个月前 | |
Docs: data_type_utils相关接口资料更新 Co-authored-by: ren-botao<renbotao@h-partners.com> # message auto-generated for no-merge-commit merge: !680 merge doc_data_type_util into master Docs: data_type_utils相关接口资料更新 Created-by: ren-botao Commit-by: ren-botao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 资料问题修改: 1. op_common/data_type_utils.h 头文件后续版本将废弃,相关接口挪到opdev/data_type_utils.h中,新增接口废弃说明,和新头文件中新增接口说明。 2. 修正 float 数据类型文档中 infinity() / signaling_NaN() 等函数返回值描述 3. 改写 small_vector 的 reserve() / ExpandCap() 接口描述 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#290 data_type_utils相关接口资料更新](https://gitcode.com/cann/opbase/issues/290) [#255 代码和文档不一致:ToString接口缺少文档](https://gitcode.com/cann/opbase/issues/255) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> data_type_utils目录下相关文档; float8/6/4相关文档 small_vector.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!680 | 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 | 2 个月前 | |
调整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 | 4 个月前 | |
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 个月前 | |
调整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 | 4 个月前 | |
init | 11 个月前 | |
规范化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 | 5 个月前 | |
添加中英文切换链接 | 21 天前 | |
添加中英文切换链接 | 21 天前 | |
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 | 3 个月前 | |
修改三方件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 | 6 个月前 | |
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 个月前 | |
cleanCode修改 Co-authored-by: h1234515<huangzhiyuan21@huawei.com> # message auto-generated for no-merge-commit merge: !622 merge newchange into master cleanCode修改 Created-by: h1234515 Commit-by: h1234515 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> cleanCode修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/opbase/issues/264 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!622 | 1 个月前 | |
refactor: 消减第三方依赖并补充编译并发选项文档 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !656 merge master into master refactor: 消减第三方依赖并补充编译并发选项文档 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 减少项目不必要的第三方依赖,并补充编译并发选项的文档说明。 ### 第三方依赖消减 - 从 install_deps.sh 中移除 install_googletest 函数(49行),不再作为项目必装依赖 - 删除 requirements.txt 文件(仅含 pyyaml),不再要求用户手动安装 - 同步移除中英文文档及目录结构描述中的 requirements.txt 相关内容 ### 编译并发文档补充 - 在 docs/QUICKSTART.md 中为 build.sh 命令新增 --pkg 参数和 -j{n} 编译线程数选项的说明 - 补充示例命令,帮助用户通过 -j 参数加速编译 ## 关联的Issue https://gitcode.com/cann/opbase/issues/275 https://gitcode.com/cann/opbase/issues/274 ## 测试 - 验证 install_deps.sh 在不包含 googletest 安装逻辑后仍可正常运行 - 验证删除 requirements.txt 后编译流程不受影响 ## 文档更新 - docs/QUICKSTART.md:移除 requirements.txt 安装命令,新增 build.sh 并发编译参数说明 - docs/en/install/quick_install.md:移除 requirements.txt 安装步骤 - docs/zh/install/quick_install.md:移除 requirements.txt 安装步骤 - docs/zh/appendix/dir_structure.md:移除 requirements.txt 文件说明 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:第三方依赖消减 See merge request: cann/opbase!656 | 1 个月前 | |
更新version.cmake中opbase版本号为:9.2.0 Co-authored-by: ren-botao<renbotao@h-partners.com> # message auto-generated for no-merge-commit merge: !729 merge update_opbase_version_920 into master 更新version.cmake中opbase版本号为:9.2.0 Created-by: ren-botao Commit-by: ren-botao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更新version.cmake中opbase版本号为:9.2.0 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> #315 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 冒烟验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:版本号更新 See merge request: cann/opbase!729 | 21 天前 |
opbase
简体中文 | English
🔥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
📖学习教程
💬相关信息
本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。