本项目是CANN算子库的基础框架库,为算子提供公共依赖文件和基础调度能力。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
工程脚本适配json升级 Co-authored-by: chenyajie<chenyajie6@huawei.com> # message auto-generated for no-merge-commit merge: !701 merge master into master 工程脚本适配json升级 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!701 | 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 个月前 | |
build: 升级 cann-cmake 至 master-046 并修复三方库下载脚本失败不报错问题 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !697 merge master into master build: 升级 cann-cmake 至 master-046 并修复三方库下载脚本失败不报错问题 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 升级构建依赖 cann-cmake 至 master-046,并修复三方库下载脚本 scripts/tools/third_lib_download.py 在下载失败时不报错、不中断构建的问题。 - **cmake/fetch_cann_cmake.cmake**:CANN_CMAKE_TAG 由 master-041 升级为 master-046。 - **scripts/tools/third_lib_download.py**: - down_files_native 增加异常捕获(URLError / HTTPError / OSError),下载失败时打印错误信息并记录 failed_urls; - 下载失败时清理残留的部分文件; - main 中检测到 failed_downloads 非空时打印失败列表,并以退出码 1 退出,避免静默失败。 - **docs/QUICKSTART.md**:依赖表补充 cann-cmake master-046 下载项。 ## 关联的Issue - #296: 三方库下载脚本 third_lib_download.py 下载失败时不报错不退出 ## 测试 - 正常网络下执行 python3 scripts/tools/third_lib_download.py,全部三方库下载成功。 - 模拟某个 URL 不可达,验证脚本打印失败信息、汇总 failed_urls 并以退出码 1 退出。 ## 文档更新 - docs/QUICKSTART.md:新增 cann-cmake master-046 下载项 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!697 | 27 天前 | |
build: 升级 cann-cmake 至 master-046 并修复三方库下载脚本失败不报错问题 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !697 merge master into master build: 升级 cann-cmake 至 master-046 并修复三方库下载脚本失败不报错问题 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 升级构建依赖 cann-cmake 至 master-046,并修复三方库下载脚本 scripts/tools/third_lib_download.py 在下载失败时不报错、不中断构建的问题。 - **cmake/fetch_cann_cmake.cmake**:CANN_CMAKE_TAG 由 master-041 升级为 master-046。 - **scripts/tools/third_lib_download.py**: - down_files_native 增加异常捕获(URLError / HTTPError / OSError),下载失败时打印错误信息并记录 failed_urls; - 下载失败时清理残留的部分文件; - main 中检测到 failed_downloads 非空时打印失败列表,并以退出码 1 退出,避免静默失败。 - **docs/QUICKSTART.md**:依赖表补充 cann-cmake master-046 下载项。 ## 关联的Issue - #296: 三方库下载脚本 third_lib_download.py 下载失败时不报错不退出 ## 测试 - 正常网络下执行 python3 scripts/tools/third_lib_download.py,全部三方库下载成功。 - 模拟某个 URL 不可达,验证脚本打印失败信息、汇总 failed_urls 并以退出码 1 退出。 ## 文档更新 - docs/QUICKSTART.md:新增 cann-cmake master-046 下载项 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!697 | 27 天前 | |
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 个月前 | |
fix: 补充 cstdint 头文件包含以适配 GCC 15 编译 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !694 merge master into master fix: 补充 cstdint 头文件包含以适配 GCC 15 编译 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 GCC 15 收紧了对隐式头文件包含的容忍度(libstdc++ 移除了大量传递性 include),导致 opbase 仓中使用了 uint32_t/uint64_t/int64_t 等整型却未显式包含 <cstdint> 的头文件报错,编译失败。 本次改动在两个基础头文件顶部新增 #include <cstdint>,单点修复即可消除整片级联报错: | 文件 | 修改 | 作用 | |------|------|------| | pkg_inc/op_common/aicpu_common/context/common/cpu_types.h | +#include <cstdint> | aicpu context 基础头,修复 cpu_tensor.h、cpu_attr_value.h、cpu_context.h、bcast.h、eigen_tensor.h 等整片级联报错 | | src/nnopbase/common/inc/file_utils.h | +#include <cstdint> | GetBinFromFile 声明使用 uint32_t,修复 nnopbase 目标编译失败 | > 注:三方件 abseil-cpp 的 container_memory.h 同类问题位于 third_party/(gitignore 忽略的第三方缓存),不在本次推送范围,建议后续以 patch 形式固化。 ## 关联的Issue - #293 ## 测试 - 环境:aarch64(40 核),GCC 15.2.0(Ubuntu 15.2.0-14ubuntu1~24~ppa1),Ascend CANN 9.0.0 - 编译命令:CC=gcc-15 CXX=g++-15 bash build.sh --pkg -j32 - 结果:修复后编译成功,完整构建 opbase 运行包 build_out/cann-opbase_9.0.0_linux-aarch64.run(约 9.4 MB) ## 文档更新 无。GCC 15 编译验证报告仅保留本地,不纳入版本管理。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!694 | 28 天前 | |
build: 升级 cann-cmake 至 master-046 并修复三方库下载脚本失败不报错问题 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !697 merge master into master build: 升级 cann-cmake 至 master-046 并修复三方库下载脚本失败不报错问题 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 升级构建依赖 cann-cmake 至 master-046,并修复三方库下载脚本 scripts/tools/third_lib_download.py 在下载失败时不报错、不中断构建的问题。 - **cmake/fetch_cann_cmake.cmake**:CANN_CMAKE_TAG 由 master-041 升级为 master-046。 - **scripts/tools/third_lib_download.py**: - down_files_native 增加异常捕获(URLError / HTTPError / OSError),下载失败时打印错误信息并记录 failed_urls; - 下载失败时清理残留的部分文件; - main 中检测到 failed_downloads 非空时打印失败列表,并以退出码 1 退出,避免静默失败。 - **docs/QUICKSTART.md**:依赖表补充 cann-cmake master-046 下载项。 ## 关联的Issue - #296: 三方库下载脚本 third_lib_download.py 下载失败时不报错不退出 ## 测试 - 正常网络下执行 python3 scripts/tools/third_lib_download.py,全部三方库下载成功。 - 模拟某个 URL 不可达,验证脚本打印失败信息、汇总 failed_urls 并以退出码 1 退出。 ## 文档更新 - docs/QUICKSTART.md:新增 cann-cmake master-046 下载项 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!697 | 27 天前 | |
Support builtin AICPU json package loading Co-authored-by: jialimin1<jialimin1@huawei.com> # message auto-generated for no-merge-commit merge: !666 merge feature/aclnn-aicpu-builtin-json-load into master Support builtin AICPU json package loading Created-by: jialimin1 Commit-by: jialimin1 Merged-by: cann-robot Description: ## 描述 支持从 ASCEND_OPP_PATH 加载内置 AICPU JSON 包及对应的 kernel so,并将内置包与自定义包纳入统一的注册和加载流程。 主要改动: 1. 扫描并按序解析 built-in/op_impl/aicpu/config 下的 JSON 配置。 2. 为 JSON 文件和算子注册信息增加包类型,按自定义/内置类型解析 kernel so 路径。 3. 注册内置算子前校验 kernel so 路径;单个 JSON 解析失败或缺少 op_infos 时继续处理后续配置。 4. 保留自定义算子黑名单逻辑,并在未配置自定义算子路径时继续加载内置包。 ## 关联的Issue #294 ## 测试 当前 PR 未包含测试代码或测试结果,建议执行以下验证: 1. **编译构建测试** - 完整编译 opbase,验证头文件及实现变更能够通过编译和链接。 2. **内置包加载功能验证** - 配置 ASCEND_OPP_PATH,验证多个内置 JSON 能按序解析、算子可从注册表查询,且 kernel so 从 built-in/op_impl/aicpu/kernel 正确加载。 3. **异常配置验证** - 覆盖空配置目录、无效 JSON、缺少 op_infos、空 kernelSo、无效 so 路径和重复算子,确认跳过异常项并继续加载其他配置。 4. **自定义算子回归测试** - 验证 ASCEND_CUSTOM_OPP_PATH 加载、黑名单过滤、重复注册和自定义 kernel so 加载行为保持正常。 5. **环境变量组合验证** - 分别验证仅设置 ASCEND_OPP_PATH、仅设置 ASCEND_CUSTOM_OPP_PATH、同时设置及均未设置的场景。 ## 文档更新 本 PR 未修改文档。该变更涉及内置 AICPU JSON 包目录约定,如该约定面向外部开发者,建议同步更新相关开发文档。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!666 | 28 天前 | |
增加mc2维测打印 Co-authored-by: pengjiahao96<pengjiahao@huawei.com> # message auto-generated for no-merge-commit merge: !660 merge master into master 增加mc2维测打印 Created-by: pengjiahao96 Commit-by: pengjiahao96 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!660 | 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 | 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 | 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 个月前 | |
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 | 4 个月前 | |
刷新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 | 1 个月前 | |
合入英文文档 Co-authored-by: claire8090<yuantao27@h-partners.com> # message auto-generated for no-merge-commit merge: !654 merge master into master 合入英文文档 Created-by: claire8090 Commit-by: claire8090 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 添加6.1基线的英文文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!654 | 1 个月前 | |
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 | 2 个月前 | |
修改三方件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 | 5 个月前 | |
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 个月前 | |
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 | 2 个月前 |
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
📖学习教程
💬相关信息
本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。