本项目是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 | 6 天前 | |
refactor(aicpu_common): 头文件源码目录整改 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !710 merge aicpu-common-header-split into master refactor(aicpu_common): 头文件源码目录整改 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 将 pkg_inc/op_common/aicpu_common/context 下 **35 个头文件**按「谁在用」拆分到两处,使对外契约面与 opbase 内部实现在源码目录上物理隔离。**头文件内容零改动,全部为 git mv 重命名。** | 分类 | 数量 | 新位置 | | --- | --- | --- | | opbase 私有 | 17 | aicpu_common/context/{common,cpu_proto}/(与对应 .cc 同级) | | 对外公开 | 18 | include/op_common/aicpu_common/context/{common,cpu_proto,cust_op,utils}/ | 公开集 18 = 15 个被 ops-cv/ops-math/ops-nn/ops-transformer 直接 include + 3 个传递依赖(cpu_kernel_register.h、device_cpu_kernel.h 经 node_def_builder.h;log_weak.h 经 log.h)。已验证该集合闭合:**没有任何公开头 include 私有头**,依赖方向单向为 私有 → 公开。 **硬约束:装包产物零变化。** 装包目的地路径一律不动,cmake/package.cmake 只改 install 的**源路径**;opbase.xml / AicpuCommonInc.xml 无需改动,下游四仓零感知。 配套构建改动(2 个文件): - aicpu_common/context/CMakeLists.txt:aicpu_context_headers 的 include 目录 4 → 8。必需——.cc 里的 include 全是裸文件名,跨目录必须显式在 path 上。 - cmake/package.cmake 三处: 1. pkg_inc/aicpu_common 装包拆为「公开侧整目录 install + 私有 17 头 install(FILES ... PERMISSIONS)」,合并回同一目的地。私有侧不能整目录装——该目录下还有 .cc/.cpp/.proto/CMakeLists.txt,以及不属于交付集、原本就不打包的 cust_op/cust_dlog_record.h。 2. aicpu_headers_src 那 8 个路径前缀改为 include/op_common/aicpu_common/context/。 3. include/op_common 整目录 install **新增** PATTERN "aicpu_common" EXCLUDE。必需——否则 18 个公开头会被扫进 $(TARGET_ENV)/include/op_common/aicpu_common/** 产生冗余副本,且 opbase.xml 里 <copy_all>true</copy_all> 会让它们进 .run 包。 ## 关联的Issue #298 ## 测试 验证环境:远端 aarch64 + CANN 9.2.0(V100R001C11B134),gcc 13.3.0。 **1. 完整 .run 编包双向比对(核心验收)** 先编改动后版本,再 git reset --hard 回基线提交重编,比对两次 CPack makeself_staging(即打进 .run 的完整文件树): $ diff -rq baseline after | grep "^Only in" (无输出:两侧文件集合完全相同) $ diff baseline.perm after.perm 差异行数: 0 **211 个文件中 208 个逐字节一致**,其余 3 个全部是构建时间戳产物(.run 自解压包自身、opp/version.info 与 share/info/opbase/version.info 的 timestamp= 行)。权限位 0 差异。 四项重点核对(在真实 .run 内容上): | 检查项 | 期望 | 实测 | | --- | --- | --- | | pkg_inc/aicpu_common/** 头文件数 | 35 | 35 ✅ | | include/aicpu/ 头文件数 | 8 | 8 ✅ | | include/op_common/ 下无 aicpu_common | 是 | 实际 log op_graph op_host op_kernel ✅ | | cust_op/ 未混入 cust_dlog_record.h | 是 | 实际只有 cust_cpu_utils.h ✅ | **2. opbase aicpu 编译** | 侧 | 目标 | 强制重编文件数 | 错误 | | --- | --- | --- | --- | | host | aicpu_context_host + aicpu_nodedef_host | 30 | 0 | | device | aicpu_context + aicpu_nodedef + aicpu_cust_log | 54 | 0 | (首次 make 报 "Built target" 未真正重编会使验证失效,已 touch 全部 .cc/.cpp 强制重编,上表为强制重编后结果——84 个源文件真实走过新的 8 条 include 路径。) **3. 下游四仓编包,全部通过** | 仓 | 产物 | | --- | --- | | ops-math | cann-910b-ops-math_9.1.0_linux-aarch64.run | | ops-nn | cann-910b-ops-nn_9.1.0_linux-aarch64.run | | ops-cv | cann-910b-ops-cv_9.1.0_linux-aarch64.run | | ops-transformer | cann-910b-ops-transformer_9.1.0_linux-aarch64.run(全量 --pkg,574 MB) | **未覆盖项(如实说明)**:改动后的 opbase 包未安装进远端 CANN(本包版本 9.0.0、远端 CANN 9.2.0,覆盖安装有降级风险),因此下游四仓构建并未真正消费本次改动的 opbase——但由上述产物零变化的结论,功能上等价。UT / example 未执行;CANN 内部 XML 装包链路未在内部构建上实测。 ## 文档更新 无。本次仅调整源码目录结构与 install 源路径,未涉及对外文档。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码结构重构(源码目录按对外可见性拆分,装包产物零变化) See merge request: cann/opbase!710 | 21 小时前 | |
refactor(aicpu_common): 头文件源码目录整改 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !710 merge aicpu-common-header-split into master refactor(aicpu_common): 头文件源码目录整改 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 将 pkg_inc/op_common/aicpu_common/context 下 **35 个头文件**按「谁在用」拆分到两处,使对外契约面与 opbase 内部实现在源码目录上物理隔离。**头文件内容零改动,全部为 git mv 重命名。** | 分类 | 数量 | 新位置 | | --- | --- | --- | | opbase 私有 | 17 | aicpu_common/context/{common,cpu_proto}/(与对应 .cc 同级) | | 对外公开 | 18 | include/op_common/aicpu_common/context/{common,cpu_proto,cust_op,utils}/ | 公开集 18 = 15 个被 ops-cv/ops-math/ops-nn/ops-transformer 直接 include + 3 个传递依赖(cpu_kernel_register.h、device_cpu_kernel.h 经 node_def_builder.h;log_weak.h 经 log.h)。已验证该集合闭合:**没有任何公开头 include 私有头**,依赖方向单向为 私有 → 公开。 **硬约束:装包产物零变化。** 装包目的地路径一律不动,cmake/package.cmake 只改 install 的**源路径**;opbase.xml / AicpuCommonInc.xml 无需改动,下游四仓零感知。 配套构建改动(2 个文件): - aicpu_common/context/CMakeLists.txt:aicpu_context_headers 的 include 目录 4 → 8。必需——.cc 里的 include 全是裸文件名,跨目录必须显式在 path 上。 - cmake/package.cmake 三处: 1. pkg_inc/aicpu_common 装包拆为「公开侧整目录 install + 私有 17 头 install(FILES ... PERMISSIONS)」,合并回同一目的地。私有侧不能整目录装——该目录下还有 .cc/.cpp/.proto/CMakeLists.txt,以及不属于交付集、原本就不打包的 cust_op/cust_dlog_record.h。 2. aicpu_headers_src 那 8 个路径前缀改为 include/op_common/aicpu_common/context/。 3. include/op_common 整目录 install **新增** PATTERN "aicpu_common" EXCLUDE。必需——否则 18 个公开头会被扫进 $(TARGET_ENV)/include/op_common/aicpu_common/** 产生冗余副本,且 opbase.xml 里 <copy_all>true</copy_all> 会让它们进 .run 包。 ## 关联的Issue #298 ## 测试 验证环境:远端 aarch64 + CANN 9.2.0(V100R001C11B134),gcc 13.3.0。 **1. 完整 .run 编包双向比对(核心验收)** 先编改动后版本,再 git reset --hard 回基线提交重编,比对两次 CPack makeself_staging(即打进 .run 的完整文件树): $ diff -rq baseline after | grep "^Only in" (无输出:两侧文件集合完全相同) $ diff baseline.perm after.perm 差异行数: 0 **211 个文件中 208 个逐字节一致**,其余 3 个全部是构建时间戳产物(.run 自解压包自身、opp/version.info 与 share/info/opbase/version.info 的 timestamp= 行)。权限位 0 差异。 四项重点核对(在真实 .run 内容上): | 检查项 | 期望 | 实测 | | --- | --- | --- | | pkg_inc/aicpu_common/** 头文件数 | 35 | 35 ✅ | | include/aicpu/ 头文件数 | 8 | 8 ✅ | | include/op_common/ 下无 aicpu_common | 是 | 实际 log op_graph op_host op_kernel ✅ | | cust_op/ 未混入 cust_dlog_record.h | 是 | 实际只有 cust_cpu_utils.h ✅ | **2. opbase aicpu 编译** | 侧 | 目标 | 强制重编文件数 | 错误 | | --- | --- | --- | --- | | host | aicpu_context_host + aicpu_nodedef_host | 30 | 0 | | device | aicpu_context + aicpu_nodedef + aicpu_cust_log | 54 | 0 | (首次 make 报 "Built target" 未真正重编会使验证失效,已 touch 全部 .cc/.cpp 强制重编,上表为强制重编后结果——84 个源文件真实走过新的 8 条 include 路径。) **3. 下游四仓编包,全部通过** | 仓 | 产物 | | --- | --- | | ops-math | cann-910b-ops-math_9.1.0_linux-aarch64.run | | ops-nn | cann-910b-ops-nn_9.1.0_linux-aarch64.run | | ops-cv | cann-910b-ops-cv_9.1.0_linux-aarch64.run | | ops-transformer | cann-910b-ops-transformer_9.1.0_linux-aarch64.run(全量 --pkg,574 MB) | **未覆盖项(如实说明)**:改动后的 opbase 包未安装进远端 CANN(本包版本 9.0.0、远端 CANN 9.2.0,覆盖安装有降级风险),因此下游四仓构建并未真正消费本次改动的 opbase——但由上述产物零变化的结论,功能上等价。UT / example 未执行;CANN 内部 XML 装包链路未在内部构建上实测。 ## 文档更新 无。本次仅调整源码目录结构与 install 源路径,未涉及对外文档。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码结构重构(源码目录按对外可见性拆分,装包产物零变化) See merge request: cann/opbase!710 | 21 小时前 | |
refactor(op_fallback): 删除废弃的 EXEC_OPAPI_CMD 转发宏并补充接口文档 Co-authored-by: yuyuanfeng<yuyuanfeng1@huawei.com> # message auto-generated for no-merge-commit merge: !737 merge refactor/remove-exec-opapi-cmd into master refactor(op_fallback): 删除废弃的 EXEC_OPAPI_CMD 转发宏并补充接口文档 Created-by: yuyuanfeng Commit-by: yuyuanfeng Merged-by: cann-robot Description: ## 描述 删除 op_fallback.h 中废弃的 EXEC_OPAPI_CMD 转发宏,该宏已重命名为 CANN_OPS_OPB_SYN_EXEC_ACLNN 且下游算子已迁移完成。 补充 op_fallback 相关接口文档:新增 CANN_OPS_OPB_SYN_EXEC_ACLNN 与 CANN_OPS_OPB_ASYN_EXEC_ACLNN 正式接口文档(op_graph 分类),并将 op_fallback_internal.h 中的内部接口补充到预留接口列表。 ## 关联的Issue - https://gitcode.com/cann/opbase/issues/313 ## 测试 无(仅删除废弃宏与文档更新) ## 文档更新 新增文档: - docs/zh/api/op_common/op_graph/op_graph.md(op_graph 分类落地页) - docs/zh/api/op_common/op_graph/CANN_OPS_OPB_SYN_EXEC_ACLNN.md(CANN_OPS_OPB_SYN_EXEC_ACLNN 同步执行接口文档) - docs/zh/api/op_common/op_graph/CANN_OPS_OPB_ASYN_EXEC_ACLNN.md(CANN_OPS_OPB_ASYN_EXEC_ACLNN 异步执行接口文档) 更新文档: - docs/zh/api/op_common/0_op_common_list.md(接口列表新增 op_graph 分类) - docs/zh/api/op_common/op_common.md(落地页新增 op_graph 链接) - docs/zh/api/op_common/op_common_api_introduction.md(接口列表表新增 op_graph 接口) - docs/zh/api/op_common/reserved_interface_op_common.md(预留接口新增 op_fallback_internal.h 全部接口) 代码: - include/op_common/op_graph/op_fallback.h(删除废弃的 EXEC_OPAPI_CMD 转发宏) ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:refactor(删除废弃宏) See merge request: cann/opbase!737 | 18 小时前 | |
refactor(op_fallback): 删除废弃的 EXEC_OPAPI_CMD 转发宏并补充接口文档 Co-authored-by: yuyuanfeng<yuyuanfeng1@huawei.com> # message auto-generated for no-merge-commit merge: !737 merge refactor/remove-exec-opapi-cmd into master refactor(op_fallback): 删除废弃的 EXEC_OPAPI_CMD 转发宏并补充接口文档 Created-by: yuyuanfeng Commit-by: yuyuanfeng Merged-by: cann-robot Description: ## 描述 删除 op_fallback.h 中废弃的 EXEC_OPAPI_CMD 转发宏,该宏已重命名为 CANN_OPS_OPB_SYN_EXEC_ACLNN 且下游算子已迁移完成。 补充 op_fallback 相关接口文档:新增 CANN_OPS_OPB_SYN_EXEC_ACLNN 与 CANN_OPS_OPB_ASYN_EXEC_ACLNN 正式接口文档(op_graph 分类),并将 op_fallback_internal.h 中的内部接口补充到预留接口列表。 ## 关联的Issue - https://gitcode.com/cann/opbase/issues/313 ## 测试 无(仅删除废弃宏与文档更新) ## 文档更新 新增文档: - docs/zh/api/op_common/op_graph/op_graph.md(op_graph 分类落地页) - docs/zh/api/op_common/op_graph/CANN_OPS_OPB_SYN_EXEC_ACLNN.md(CANN_OPS_OPB_SYN_EXEC_ACLNN 同步执行接口文档) - docs/zh/api/op_common/op_graph/CANN_OPS_OPB_ASYN_EXEC_ACLNN.md(CANN_OPS_OPB_ASYN_EXEC_ACLNN 异步执行接口文档) 更新文档: - docs/zh/api/op_common/0_op_common_list.md(接口列表新增 op_graph 分类) - docs/zh/api/op_common/op_common.md(落地页新增 op_graph 链接) - docs/zh/api/op_common/op_common_api_introduction.md(接口列表表新增 op_graph 接口) - docs/zh/api/op_common/reserved_interface_op_common.md(预留接口新增 op_fallback_internal.h 全部接口) 代码: - include/op_common/op_graph/op_fallback.h(删除废弃的 EXEC_OPAPI_CMD 转发宏) ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [x] 其他,请描述:refactor(删除废弃宏) See merge request: cann/opbase!737 | 18 小时前 | |
refactor(aicpu_common): 头文件源码目录整改 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !710 merge aicpu-common-header-split into master refactor(aicpu_common): 头文件源码目录整改 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 将 pkg_inc/op_common/aicpu_common/context 下 **35 个头文件**按「谁在用」拆分到两处,使对外契约面与 opbase 内部实现在源码目录上物理隔离。**头文件内容零改动,全部为 git mv 重命名。** | 分类 | 数量 | 新位置 | | --- | --- | --- | | opbase 私有 | 17 | aicpu_common/context/{common,cpu_proto}/(与对应 .cc 同级) | | 对外公开 | 18 | include/op_common/aicpu_common/context/{common,cpu_proto,cust_op,utils}/ | 公开集 18 = 15 个被 ops-cv/ops-math/ops-nn/ops-transformer 直接 include + 3 个传递依赖(cpu_kernel_register.h、device_cpu_kernel.h 经 node_def_builder.h;log_weak.h 经 log.h)。已验证该集合闭合:**没有任何公开头 include 私有头**,依赖方向单向为 私有 → 公开。 **硬约束:装包产物零变化。** 装包目的地路径一律不动,cmake/package.cmake 只改 install 的**源路径**;opbase.xml / AicpuCommonInc.xml 无需改动,下游四仓零感知。 配套构建改动(2 个文件): - aicpu_common/context/CMakeLists.txt:aicpu_context_headers 的 include 目录 4 → 8。必需——.cc 里的 include 全是裸文件名,跨目录必须显式在 path 上。 - cmake/package.cmake 三处: 1. pkg_inc/aicpu_common 装包拆为「公开侧整目录 install + 私有 17 头 install(FILES ... PERMISSIONS)」,合并回同一目的地。私有侧不能整目录装——该目录下还有 .cc/.cpp/.proto/CMakeLists.txt,以及不属于交付集、原本就不打包的 cust_op/cust_dlog_record.h。 2. aicpu_headers_src 那 8 个路径前缀改为 include/op_common/aicpu_common/context/。 3. include/op_common 整目录 install **新增** PATTERN "aicpu_common" EXCLUDE。必需——否则 18 个公开头会被扫进 $(TARGET_ENV)/include/op_common/aicpu_common/** 产生冗余副本,且 opbase.xml 里 <copy_all>true</copy_all> 会让它们进 .run 包。 ## 关联的Issue #298 ## 测试 验证环境:远端 aarch64 + CANN 9.2.0(V100R001C11B134),gcc 13.3.0。 **1. 完整 .run 编包双向比对(核心验收)** 先编改动后版本,再 git reset --hard 回基线提交重编,比对两次 CPack makeself_staging(即打进 .run 的完整文件树): $ diff -rq baseline after | grep "^Only in" (无输出:两侧文件集合完全相同) $ diff baseline.perm after.perm 差异行数: 0 **211 个文件中 208 个逐字节一致**,其余 3 个全部是构建时间戳产物(.run 自解压包自身、opp/version.info 与 share/info/opbase/version.info 的 timestamp= 行)。权限位 0 差异。 四项重点核对(在真实 .run 内容上): | 检查项 | 期望 | 实测 | | --- | --- | --- | | pkg_inc/aicpu_common/** 头文件数 | 35 | 35 ✅ | | include/aicpu/ 头文件数 | 8 | 8 ✅ | | include/op_common/ 下无 aicpu_common | 是 | 实际 log op_graph op_host op_kernel ✅ | | cust_op/ 未混入 cust_dlog_record.h | 是 | 实际只有 cust_cpu_utils.h ✅ | **2. opbase aicpu 编译** | 侧 | 目标 | 强制重编文件数 | 错误 | | --- | --- | --- | --- | | host | aicpu_context_host + aicpu_nodedef_host | 30 | 0 | | device | aicpu_context + aicpu_nodedef + aicpu_cust_log | 54 | 0 | (首次 make 报 "Built target" 未真正重编会使验证失效,已 touch 全部 .cc/.cpp 强制重编,上表为强制重编后结果——84 个源文件真实走过新的 8 条 include 路径。) **3. 下游四仓编包,全部通过** | 仓 | 产物 | | --- | --- | | ops-math | cann-910b-ops-math_9.1.0_linux-aarch64.run | | ops-nn | cann-910b-ops-nn_9.1.0_linux-aarch64.run | | ops-cv | cann-910b-ops-cv_9.1.0_linux-aarch64.run | | ops-transformer | cann-910b-ops-transformer_9.1.0_linux-aarch64.run(全量 --pkg,574 MB) | **未覆盖项(如实说明)**:改动后的 opbase 包未安装进远端 CANN(本包版本 9.0.0、远端 CANN 9.2.0,覆盖安装有降级风险),因此下游四仓构建并未真正消费本次改动的 opbase——但由上述产物零变化的结论,功能上等价。UT / example 未执行;CANN 内部 XML 装包链路未在内部构建上实测。 ## 文档更新 无。本次仅调整源码目录结构与 install 源路径,未涉及对外文档。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码结构重构(源码目录按对外可见性拆分,装包产物零变化) See merge request: cann/opbase!710 | 21 小时前 | |
升级 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 | 6 天前 | |
fix: 修复aicpu日志质量问题 Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !733 merge master_log_fix into master fix: 修复aicpu日志质量问题 Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 修复 AICPU 任务处理链路中的日志质量问题:拼写错误、冗余换行、语法不规范。 ### 修复项 | 文件 | 旧 | 新 | 类型 | |------|----|----|------| | aicpu_args_handler.cpp | probuf | protobuf | 拼写 | | aicpu_args_handler.cpp | paramLenth | paramLength | 拼写 | | aicpu_ext_info_handle.cpp | "inputs %zu type is %d\n" | "inputs %zu type is %d" | 冗余换行 | | aicpu_task.cpp | "op [%s] is 3th op" | "op [%s] is a 3rd party op" | 语法 | 共 3 个文件,4 处修复,纯日志文案修改,无逻辑变更。 ## 关联的Issue ## 测试 ## 文档更新 ## 类型标签 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/opbase!733 | 2 分钟前 | |
fix: 刷新缓存中的shapeDepend 输出的 acl tensor地址 Co-authored-by: liuyi424<liuyi424@huawei.com> # message auto-generated for no-merge-commit merge: !719 merge codex/fix-output-shape-cache-tensor into master fix: 刷新缓存中的shapeDepend 输出的 acl tensor地址 Created-by: liuyi424 Commit-by: liuyi424 Merged-by: cann-robot Description: ## 描述 individual op 的 args 缓存会保存 shape 依赖输出的 aclTensor *。后续调用命中缓存时,原逻辑只更新 kernel 使用的 TensorData 地址,没有更新 outPutShapeMap,导致输出 shape 仍可能回刷到首次调用的 tensor;该 tensor 已释放或内存被复用时,会在 SetStorageShape 处发生 coredump。 本次修改: - 在旧缓存和 V2 缓存的输出地址更新路径中,同步刷新 outPutShapeMap。 - 增加缓存旧 tensor、当前 tensor及最终 shape 回刷目标的 DFX 日志。 - 增加回归测试,覆盖两个缓存命中更新入口。 ## 关联的Issue 关联issue [#309](https://gitcode.com/cann/opbase/issues/309) ## 测试 已通过冒烟测试 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!719 | 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 | 1 个月前 | |
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 | 20 天前 | |
增加静态算子包加载接口,允许传入用户自定义路径 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 | 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 | 19 天前 | |
调整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 | 3 个月前 | |
init | 10 个月前 | |
规范化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 个月前 | |
添加中英文切换链接 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 | 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 | 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 | 19 天前 | |
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 | 29 天前 | |
更新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 | 1 天前 |
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
📖学习教程
💬相关信息
本项目功能和文档正在持续更新和完善中,欢迎您关注最新版本。