| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 3 个月前 | |
feat: 支持 Python 自定义算子原型与实现桥接注册 Co-authored-by: lfz<220252399@seu.edu.cn> # message auto-generated for no-merge-commit merge: !4320 merge develop2 into develop feat: 支持 Python 自定义算子原型与实现桥接注册 Created-by: lfz2812 Commit-by: lfz Merged-by: cann-robot Description: # Pull Request ## 描述 支持 Python 自定义算子原型从 Python descriptor 到 GE OperatorFactory 的注册,并完善 Python 自定义算子实现的 bridge 注册、校验和生命周期管理。 主要变更: - 根据 Python 函数签名收集输入、属性、输出及 mutates_args,生成并深拷贝 Python custom op proto。 - 将 Python proto 注册为 OperatorFactory creator,并通过公开 IR 查询接口获取 canonical IR。 - 按 proto 注册、canonical IR 收集、impl 签名校验、Adapter 注册的顺序完成加载。 - 支持 proto-only、proto + Python impl、C++ proto + Python impl 以及 legacy impl。 - 完善 Adapter descriptor、runtime registry 和 holder 的所有权管理。 - 支持重复加载幂等、runtime lease pending cleanup 和注册失败回滚。 - 增加 Python proto、descriptor、bridge loader、Adapter 以及 ST/UT 覆盖。 - 当前阶段不执行 Python infer_meta,暂不覆盖编译期 Meta 推导和 RT2 runtime infer。 - 同步更新中英文 Python custom op 设计文档。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue [#299](https://gitcode.com/cann/ge/issues/299) ## 如何测试 本次补充和扩展以下测试: 1. Python UT: - proto/impl descriptor 快照和关联关系。 - proto-only、proto + schema-bound impl、C++ proto + Python impl 和 legacy impl 场景。 - canonical IR 与 execute 签名校验。 - schema-bound 输入和属性绑定、执行上下文作用域及失效检查。 - plugin 和 bridge/native artifact 加载检查。 2. C++ UT: - proto C POD view 解析和 owning 数据转换。 - 支持的属性类型及默认值转换。 - Operator creator 注册、冲突保护和卸载。 - Adapter capability、runtime entry、holder 和 callback 生命周期。 - loader 注册事务、失败回滚、幂等加载及 pending cleanup。 3. ST: - Python proto 和 impl 注册、创建及卸载。 - Python 自定义算子文件加载失败。 - 不可访问的非 Python自定义算子路径跳过处理。 建议执行: bash bash tests/run_test.sh --ut=python cmake --build build_ut --target ut_libge_multiparts_utest -j4 ctest --test-dir build_ut -R ut_libge_multiparts_utest --output-on-failure git diff --check ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 本次完成 Python 原型到 C++ OperatorFactory 的注册,以及 Python 实现到 CustomOpFactory 的 Adapter 注册。 - 本次不执行 Python infer_meta,不包含 infer callback、编译期 shape/data type 回写或 RT2 runtime infer 链路;这些内容由后续 PR 完成。 - 本次保持 schema-bound execute 和迁移期 legacy execute(ctx) 的现有行为。 - Bridge ABI 当前按同批构建和整体替换使用,不承诺不同版本 V1 artifact 混用。 - 本次未修改公开 API,也未修改 build_fwk.sh 等公共构建脚本。 See merge request: cann/ge!4320 | 1 个月前 | |
feat(om2): support ACL_MDL_PRIORITY_INT32 in aclmdlLoadWithConfig Co-authored-by: lidaoming1<lidaoming1@huawei.com> # message auto-generated for no-merge-commit merge: !4417 merge om2_priority into develop feat(om2): support ACL_MDL_PRIORITY_INT32 in aclmdlLoadWithConfig Created-by: lidaoming1 Commit-by: lidaoming1 Merged-by: cann-robot Description: # Pull Request ## 描述 OM2场景下 aclmdlLoadWithConfig支持通过ACL_MDL_PRIORITY_INT32设置模型流优先级。 用户通过aclmdlSetConfigOpt(handle, ACL_MDL_PRIORITY_INT32, &priority, sizeof(int32_t))设置优先级后,priority经ACL配置层→加载层→执行器层→codegen生成SO,最终传递到rtStreamCreateWithFlags(stream, priority_, flags)创建带优先级的下沉流。 ### 改动内容 1. **ACL配置白名单**:将ACL_MDL_PRIORITY_INT32添加到kOm2SupportedLoadConfigOpts,使CheckOm2UserLoadConfigOptValid不再拒绝该配置项 2. **参数传递链路**:Om2ModelLoadArg新增priority字段,ConstructOm2ModelLoadArg传递priority参数(LoadFromFile/LoadFromMem传0,LoadFromFileWithMem/LoadFromMemWithMem传handle->priority) 3. **执行器层**:CreateFunc typedef和Om2ModelExecutor::Load末尾新增int32_t priority参数 4. **Codegen层**:Om2ModelCreate函数签名、Om2Model构造函数接收并存储priority_成员变量,InitResources中rtStreamCreateWithFlags使用priority_创建下沉流 5. **测试同步**:更新所有UT/ST测试桩函数签名和expected字符串 ### 兼容性 - Om2ModelCreate函数签名变更(末尾新增int32_t priority),不兼容旧OM2模型SO - OM2是新特性,无存量部署模型,codegen模板已同步更新 ## 变更类型 - [x] ✨ 新功能 ## 关联的Issue ## 如何测试 1. 编译om2_executor目标:make om2_executor 2. 编译UT测试桩:make ut_libge_distinct_load_utest(受限于预存的toolkit版本问题) 3. 验证aclmdlSetConfigOpt(handle, ACL_MDL_PRIORITY_INT32, &priority, sizeof(int32_t))不再返回ACL_ERROR_INVALID_PARAM 4. 验证aclmdlLoadWithConfig加载OM2模型时priority传递到rtStreamCreateWithFlags ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - aclmdlRIBuildBegin(model, 0)的第二参数是flag标志位(非priority),保持传0不变 - sync_prof_stream_是profiling专用流,保持默认优先级0 - 预存的toolkit版本问题(super_kernel_pass.h缺少aclskScopeVerify*类型)阻塞UT完整链接,与本次修改无关 See merge request: cann/ge!4417 | 1 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 3 个月前 | |
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 3 个月前 | |
fix: fix clean code warnings Co-authored-by: likun104<likun104@h-partners.com> # message auto-generated for no-merge-commit merge: !3941 merge br_fix_clean_code_warnings_0709 into develop fix: fix clean code warnings Created-by: likun104 Commit-by: likun104 Merged-by: cann-robot Description: # Pull Request ## 描述 清理ge仓中的clean code告警 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 流水线跑通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3941 | 1 个月前 | |
fix: fix clean code warnings Co-authored-by: likun104<likun104@h-partners.com> # message auto-generated for no-merge-commit merge: !3941 merge br_fix_clean_code_warnings_0709 into develop fix: fix clean code warnings Created-by: likun104 Commit-by: likun104 Merged-by: cann-robot Description: # Pull Request ## 描述 清理ge仓中的clean code告警 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 流水线跑通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3941 | 1 个月前 | |
feat: 支持自定义算子能力识别与 Python 适配器 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !3970 merge op-cpp into develop feat: 支持自定义算子能力识别与 Python 适配器 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 为 C++ 自定义算子补充能力标识和统一转型入口,并新增 Python custom op runtime adapter 的基础实现。 主要变更: - 新增 CustomOpCapability / CustomOpCast,让调用点按 capability 判断 EagerExecuteOp、CompilableOp、ShapeInferOp、PortableOp、ArgsUpdater。 - 将现有自定义算子执行、编译、shape 推导、序列化和地址刷新调用点从直接 dynamic_cast 切换为 CustomOpCast。 - 新增 custom_op_runtime 目标和 Python custom op adapter/registry 基础类型,用于承接 Python 自定义算子执行能力。 - 将 custom_op_runtime 纳入 ge-executor 构建和 ge-executor 包安装范围,并补充相关 UT 链接和用例。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 新增及历史ut运行正常 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已确认本 PR 不涉及文档更新 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 是自定义算子 Python eager 执行能力的 C++ capability 和 adapter 基础部分,Python bridge/公开 Python surface 可在后续 PR 中继续拆分提交。 See merge request: cann/ge!3970 | 2 个月前 |