| Files | Last commit | Last update |
|---|---|---|
feat: 完成 OM2 Bundle 编译序列化、外置权重、动态分档与运行时支持 Co-authored-by: wuzheng-hw<wuzheng14@huawei.com> # message auto-generated for no-merge-commit merge: !4974 merge bundle into develop feat: 完成 OM2 Bundle 编译序列化、外置权重、动态分档与运行时支持 Created-by: wuzheng-hw Commit-by: wuzheng-hw Merged-by: cann-robot Description: # Pull Request ## 描述 实现静态 Shape OM2 多模型 Bundle 的编译、ZIP 打包与解析,以及 ACL Bundle 生命周期支持。 主要内容: - 增加 OM2 Bundle manifest、模型索引、变量资源和共享 kernel 的 ZIP 组织与校验。 - 增加 Bundle Build/Save、QueryInfo、Eager/Lazy 子模型加载、按子模型卸载和共享 Session/Variable 管理;外置权重子模型 Save 时将权重文件搬迁至 om 同级 weight 目录(对齐 OM2 单模型),加载时按 <bundle_dir>/weight/ 约定解析,或逐子模型传 weightPath / 注入 fileConstantMem。 - 保持 OM1 Bundle 与 OM2 单模型 API 兼容,拒绝 custom op so Bundle 场景;动态分档与动态 Shape 无 Bundle 级额外限制(子模型编译约束与单模型 OM2 一致)。 - 增加 Bundle 与普通 OM2 单模型 API 的互斥路由和资源失败清理;6 个 Bundle API 补齐 ACL_PROFILING_REG(对齐 OM1)。 - 顺带修复:DeleteBundleSubmodelId 的 operator[] 误插入、Finalize 外部变量 arena 范围越界防护。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新 - [ ] ♻️ 重构 - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 如何测试 - 新增 UT/ST 用例,覆盖 Bundle 序列化、运行时加载、ACL 生命周期与外置权重搬迁。 - 本地回归:ST Om2 系列 80/80;UT distinct_load 2126/2126、multiparts 3092/3092、acl_utest 537/537。 - 本地 pre-commit 全部通过:clang-format、codespell、OAT 等。 ## 其他信息 - model_om2.cpp 超大源文件告警(cmetrics)例外申请中;其余代码质量告警已消除(超长函数已拆分)。 See merge request: cann/ge!4974 | 1 month ago | |
fix: 为无效的 ge.exec.deviceId 上报外部错误码 Co-authored-by: KenChow<zhouchen53@huawei.com> # message auto-generated for no-merge-commit merge: !5208 merge fix-host-model-input-placement-errcode into develop fix: 为无效的 ge.exec.deviceId 上报外部错误码 Created-by: KenChow Commit-by: KenChow Merged-by: cann-robot Description: # Pull Request ## 描述 GELib::SystemInitialize 解析 ge.exec.deviceId 时,如果配置值无法转换为整数,原代码仅记录转换失败日志并返回失败状态。本次在该分支上报外部错误码 E10001,带上参数名、实际输入值和“必须为整数”的原因,便于用户定位并修正配置;保留原有失败返回行为。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 本 PR 未关联 Issue。 ## 如何测试 前提:通过 GE 初始化选项传入 ge.exec.deviceId。 1. 将其设为非整数(例如 abc),检查初始化返回失败,并上报 E10001;错误信息应包含参数名、输入值和原因。 2. 将其设为有效整数(例如 0),检查该配置仍可正常解析。 按要求未执行本地编译或测试。PR 流水线 #2988 的 clang-format 和 CodeCheck_Precommit 已通过;其余 CI 任务在填写描述时仍在运行。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 此次仅修改 compiler/api/gelib/gelib.cc 的参数转换失败上报;未涉及对应设计文档的行为或接口变更。 See merge request: cann/ge!5208 | 1 month ago | |
feat: 完成 OM2 Bundle 编译序列化、外置权重、动态分档与运行时支持 Co-authored-by: wuzheng-hw<wuzheng14@huawei.com> # message auto-generated for no-merge-commit merge: !4974 merge bundle into develop feat: 完成 OM2 Bundle 编译序列化、外置权重、动态分档与运行时支持 Created-by: wuzheng-hw Commit-by: wuzheng-hw Merged-by: cann-robot Description: # Pull Request ## 描述 实现静态 Shape OM2 多模型 Bundle 的编译、ZIP 打包与解析,以及 ACL Bundle 生命周期支持。 主要内容: - 增加 OM2 Bundle manifest、模型索引、变量资源和共享 kernel 的 ZIP 组织与校验。 - 增加 Bundle Build/Save、QueryInfo、Eager/Lazy 子模型加载、按子模型卸载和共享 Session/Variable 管理;外置权重子模型 Save 时将权重文件搬迁至 om 同级 weight 目录(对齐 OM2 单模型),加载时按 <bundle_dir>/weight/ 约定解析,或逐子模型传 weightPath / 注入 fileConstantMem。 - 保持 OM1 Bundle 与 OM2 单模型 API 兼容,拒绝 custom op so Bundle 场景;动态分档与动态 Shape 无 Bundle 级额外限制(子模型编译约束与单模型 OM2 一致)。 - 增加 Bundle 与普通 OM2 单模型 API 的互斥路由和资源失败清理;6 个 Bundle API 补齐 ACL_PROFILING_REG(对齐 OM1)。 - 顺带修复:DeleteBundleSubmodelId 的 operator[] 误插入、Finalize 外部变量 arena 范围越界防护。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新 - [ ] ♻️ 重构 - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 如何测试 - 新增 UT/ST 用例,覆盖 Bundle 序列化、运行时加载、ACL 生命周期与外置权重搬迁。 - 本地回归:ST Om2 系列 80/80;UT distinct_load 2126/2126、multiparts 3092/3092、acl_utest 537/537。 - 本地 pre-commit 全部通过:clang-format、codespell、OAT 等。 ## 其他信息 - model_om2.cpp 超大源文件告警(cmetrics)例外申请中;其余代码质量告警已消除(超长函数已拆分)。 See merge request: cann/ge!4974 | 1 month ago |