本项目是CANN算子库的基础框架库,为算子提供公共依赖文件和基础调度能力。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
修改issue模板中单词拼写问题 Co-authored-by: ren-botao<renbotao@h-partners.com> # message auto-generated for no-merge-commit merge: !889 merge fix_issue_template into master 修改issue模板中单词拼写问题 Created-by: ren-botao Commit-by: ren-botao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改.gitcode/ISSUE_TEMPLATE/feature-request.yml 中单词问题: 1. 冠词错误:requirement 以辅音音素开头,应使用 a Thanks for sending a requirement! 2. Backgroud 拼写错误 label: Background(背景信息) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#426](https://gitcode.com/cann/opbase/issues/426) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了issue模板文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!889 | 1 个月前 | |
清理代码告警 Co-authored-by: zcy123456x<zhouchenyang5@huawei.com> # message auto-generated for no-merge-commit merge: !881 merge 0918-codewarning into master 清理代码告警 Created-by: zcy123456x Commit-by: zcy123456x Merged-by: cann-robot Description: ## 描述 代码告警清理: 清理不必要的reinterpret_cast ## 关联的Issue 本次不关联ISSUE ## 测试 黄区通过LLT,构建 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!881 | 1 个月前 | |
Revert "fix(package): 排除7个aicpu公共头在pkg_inc/aicpu_common下的重复安装" Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !885 merge revert/remove-duplicate-aicpu-headers into master Revert "fix(package): 排除7个aicpu公共头在pkg_inc/aicpu_common下的重复安装" Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 回退 PR #857(squash 提交 1cc94d9)的全部改动:代码恢复到改动前状态。 - cmake/package.cmake:恢复 7 个 aicpu 公共头文件(PATTERN EXCLUDE 规则删除)安装到 pkg_inc/aicpu_common/ 下 - scripts/package/opbase/opbase.xml:恢复对应的 7 个 file_info 条目,保持清单与安装规则一致 ### 恢复安装的7个文件 - context/common: cpu_context.h, cpu_kernel.h, cpu_kernel_register.h, cpu_types.h - context/cpu_proto: cpu_attr_value.h, cpu_tensor.h, cpu_tensor_shape.h ## 关联的Issue 原 PR:[#857](https://gitcode.com/cann/opbase/pull/857) 原 issue:[#419](https://gitcode.com/cann/opbase/issues/419) ## 测试 - 编译打包/安装/卸载需回归验证 - pre-commit Passed See merge request: cann/opbase!885 | 1 个月前 | |
Add legacy File | 1 个月前 | |
add external op task framework integration Co-authored-by: suyueming<suyueming@huawei.com> # message auto-generated for no-merge-commit merge: !879 merge external_op_dev into master feat(opdev): add external op task framework integration Created-by: su-yueming Commit-by: suyueming Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> feat(opdev): add external op task framework integration 此前外部/自定义算子接入 ACLNN 执行框架需依赖 AI Core kernel launcher 或旧的描述符式接口,无法覆盖"实现方自主完成实现选择、tiling 与 kernel 下发"的场景。本 PR 在 opdev 层新增 Direct Invoke 任务接入框架,以三回调 SPI 替代原描述符式接口 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#429](https://gitcode.com/cann/opbase/issues/429) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - 新增接口文档 AddDirectInvokeTask.md ; - 更新 common_macros_and_classes.md 。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!879 | 1 个月前 | |
【mc62】tiling侧workspaceSize硬编码16M大小,替换为通过接口获取,ascendcPlatform.GetLibApiWorkSpaceSize(); Co-authored-by: xufeng12121<1074805447@qq.com> # message auto-generated for no-merge-commit merge: !897 merge red into master 【mc62】tiling侧workspaceSize硬编码16M大小,替换为通过接口获取,ascendcPlatform.GetLibApiWorkSpaceSize(); Created-by: xufeng12121 Commit-by: xufeng12121 Merged-by: cann-robot Description: ## 描述 1. 背景:mc62算子workspace占用对比1951增大 2. 由于mc62代码和A5是onetrack, 所有workspacesize硬编码为16M, 在mc62上也同样是16M,asc 提供接口,对mc62进行区分,从原来的16M 变成1K,A5和A2大小不变。 3. 修改:算子侧tiling中硬编码为16M大小的workspacesize统一改为用接口获取。 GetLibApiWorkSpaceSize实现如下: const static uint32_t WORK_SPACE_SIZE_910B = 16 * 1024 * 1024; const static uint32_t WORK_SPACE_SIZE_950 = 16 * 1024 * 1024; const static uint32_t WORK_SPACE_SIZE = 1024; uint32_t PlatformAscendC::GetLibApiWorkSpaceSize(void) const { auto npuArch = GetCurNpuArch(); if (npuArch == NpuArch::DAV_RESV) { PF_LOGE("get platform failed, CurNpuArch is NpuArch::DAV_RESV"); return -1; } else if (npuArch == NpuArch::DAV_2201) { return WORK_SPACE_SIZE_910B; } else if (npuArch == NpuArch::DAV_3510) { return WORK_SPACE_SIZE_950; } return WORK_SPACE_SIZE; } ## 关联的Issue https://gitcode.com/cann/opbase/issues/444 ## 测试 1.单算子框架测试通过 2.二级冒烟通过 文档更新 类型标签 - [x] Bug修复 See merge request: cann/opbase!897 | 1 个月前 | |
add3510fmm Co-authored-by: szhexin<shangzhexin@huawei.com> # message auto-generated for no-merge-commit merge: !795 merge master into master add3510fmm Created-by: szhexin Commit-by: szhexin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->新增FusedMatMulFusionPass的白名单 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。-->本地测试通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!795 | 1 个月前 | |
修复异常回调函数注册跳过问题 Co-authored-by: pengjiahao96<pengjiahao@huawei.com> # message auto-generated for no-merge-commit merge: !932 merge pcie into master 修复异常回调函数注册跳过问题 Created-by: pengjiahao96 Commit-by: pengjiahao96 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复异常回调函数注册跳过问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!932 | 1 个月前 | |
修复tensorList静态场景填充标志位污染问题 Co-authored-by: pengjiahao96<pengjiahao@huawei.com> # message auto-generated for no-merge-commit merge: !926 merge pcie into master 修复tensorList静态场景填充标志位污染问题 Created-by: pengjiahao96 Commit-by: pengjiahao96 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复tensorList静态场景填充标志位污染问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!926 | 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 | 4 个月前 | |
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 | 3 个月前 | |
增加静态算子包加载接口,允许传入用户自定义路径 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 | 6 个月前 | |
feat: broadcast tiling 模板支持 PcieThrough 场景识别与 UB BRC 强制调度 Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !788 merge pcie_through into master feat: broadcast tiling 模板支持 PcieThrough 场景识别与 UB BRC 强制调度 Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 broadcast 模板 tiling 增加 PcieThrough(PCIe 直通)场景识别,保证该场景下经 broadcast 模板调度的算子行为正确: 1. DoTiling 新增 GetPcieThroughInfo 步骤:高版本 SDK(METADEF_VERSION_NUM >= 90200000)调用 context_->GetPcieThroughFlag() 获取标志,低版本走 #else 兜底 isPcieThrough = false,保持存量行为不变 2. 非连续输入拦截:PcieThrough 场景下非连续模板不支持,GetPcieThroughInfo 中对 isPcieThrough && !inputAllContiguous 直接返回失败并报错 3. OneDim 快速分支规避:PcieThrough 场景跳过 DoOneDimOpTilingAdvance/DoOneDimOpTiling 快速路径,统一走 DoBroadcastOpTiling 4. UB BRC 强制调度:DoBroadcastOpTiling 中 PcieThrough 时置 isUbBroadcast = true,不再走 IsUbBroadcast 常规判定 5. 构建配套:CMakeLists.txt 为 ops_base 补充 cann_version_headers 链接,解析新增的 version/metadef_version.h 头文件 配套算子侧 PR:https://gitcode.com/cann/ops-math/pull/5116(mul/select 算子 PcieThrough 适配),两者需协同合入。 ## 关联的Issue - https://gitcode.com/cann/opbase/issues/350 ## 测试 - 当前 SDK metadef 版本低于 90200000,GetPcieThroughFlag 真实分支未编入,兜底路径下 isPcieThrough 恒为 false,模板调度行为与合入前一致 - CI 流水线已通过(ci-pipeline-passed) - METADEF >= 90200000 环境下的编译与功能验证待高版本 SDK 就绪后补充 ## 文档更新 不涉及 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!788 | 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 | 6 个月前 | |
init | 1 年前 | |
规范化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 | 6 个月前 | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !898 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ①md产品名变更 ②md编码格式utf-8 bom改为纯utf-8 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#434](https://gitcode.com/cann/opbase/issues/434) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!898 | 1 个月前 | |
添加中英文切换链接 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !748 merge master into master 添加中英文切换链接 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 添加中英文切换链接 ## 关联的Issue https://gitcode.com/cann/opbase/issues/316 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!748 | 2 个月前 | |
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 | 4 个月前 | |
修改三方件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 | 7 个月前 | |
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 | 3 个月前 | |
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 | 3 个月前 | |
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 | 3 个月前 | |
更新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 | 2 个月前 |
🔥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
📖学习教程
💬相关信息
本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。