| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 | 2 个月前 | |
feat: 支持Python自定义算子execute能力反射 Co-authored-by: kobemini<gengchao4@huawei.com> # message auto-generated for no-merge-commit merge: !4240 merge feat/python-custom-op-execute-reflection into develop feat: 支持Python自定义算子execute能力反射 Created-by: kobemini Commit-by: kobemini Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 完成 Python 自定义算子 execute 能力反射,并收敛 schema-bound execute 所需的 IR 元数据获取链路。 主要变更: - 注册阶段根据实现类上是否存在可调用的 execute 方法生成 eager_execute 接口描述,不再强制用户类继承 Python 自定义算子基类; - bridge holder 支持持有普通 Python 对象,并在调用前校验 execute 是否可调用; - 保留 BaseCustomOp 和 EagerExecuteOp,兼容现有继承方式以及 execute(ctx) 写法; - schema-bound execute 示例改为普通 Python 类实现,并移除不必要的继承; - 将 canonical IR 元数据收集从 custom_op_runtime 迁移至 Python bridge,通过 run 包正式公共接口 GetRegisteredIrDef 获取并在 bridge holder 中缓存; - 删除 runtime/bridge callback 间的私有 IR POD 投影,execute callback 恢复为 holder + ctx; - bridge 使用公开头文件约束 GetRegisteredIrDef 签名,通过 RTLD_NOLOAD 获取已加载的 runner handle 后调用 dlsym,兼容 RTLD_LOCAL 加载且不提升 runner 全局可见性,同时避免反向硬链接形成循环 SO 依赖; - 同步更新中英文设计文档及相关单元测试。 反射产生的接口描述仍为 eager_execute,现有 capability mask 映射和 CustomOpCast 过滤逻辑保持不变;EagerOpExecutionContext 未修改,bridge ABI 版本保持为 1。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. pre-commit 检查全部通过。 2. ge_python_custom_op_bridge 目标使用 -j4 构建通过。 3. ut_libge_multiparts_utest 目标使用 -j4 构建通过;相关 C++ 用例 5 个全部通过。 4. tests/ge/ut/ge/graph/pyge_tests/python_custom_op_test.py:38 passed。 5. ge_python_main_wheel 目标使用 -j4 构建通过,wheel 中 custom-op bridge SO 与编译产物一致。 6. 动态依赖检查确认 custom-op bridge 不直接依赖 libge_runner.so 或 libge_runner_v2.so。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的中英文文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 本次 collector 迁移使用 run 包正式公共 API,不再维护 custom_op_runtime 与 Python bridge 之间的私有 IR 数据结构协议。 See merge request: cann/ge!4240 | 1 个月前 | |
fix(om2): 限制 ZIP 解压总大小 Co-authored-by: 谢正恺<xiezhengkai@huawei.com> # message auto-generated for no-merge-commit merge: !4264 merge validate_max_uncompressed_size into develop fix(om2): 限制 ZIP 解压总大小 Created-by: ClarkXie Commit-by: 谢正恺 Merged-by: cann-robot Description: ## 修改内容 - 限制所有压缩 entry 的累计解压大小为 10 GiB - 校验 entry 的 uncompressed_size 可表示为 size_t - 使用减法形式校验未压缩 entry 的原始数据边界,避免整数溢出 ## 验证 - git diff --check 通过 - 按要求未运行 UT/ST See merge request: cann/ge!4264 | 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 | 2 个月前 | |
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 | 2 个月前 | |
fix: AnnotatedKernelArgs的input,output参数index应为实例平铺index Co-authored-by: Chang-an-HW<machangan@huawei.com> # message auto-generated for no-merge-commit merge: !4133 merge fix_annotated_args_index into develop fix: AnnotatedKernelArgs的input,output参数index应为实例平铺index Created-by: Chang-an-HW Commit-by: Chang-an-HW Merged-by: cann-robot Description: # Pull Request ## 描述 20260629评审通过 AnnotatedKernelArgs的input,output参数index改为实例平铺index ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4133 | 1 个月前 | |
【feat】: support custom op host input in non tensor input scene Co-authored-by: tang-haojie<tanghaojie1@huawei.com> # message auto-generated for no-merge-commit merge: !4169 merge zero_copy_host_const into develop 【feat】: support custom op host input in non tensor input scene Created-by: tang-haojie Commit-by: tang-haojie Merged-by: cann-robot Description: # Pull Request ## 描述 该 PR 为自定义算子(custom op)在非 Tensor 输入场景下新增 host 输入支持。通过 input_kinds 属性识别非 Tensor 输入(其值 ≥ 阈值 _custom_op_non_tensor_kind_base,默认为 3),并结合 DataDependentInterpreter 判断是否为值依赖输入,对符合条件的输入在 runtime v1 中执行 D2H 内存拷贝、在 runtime v2 lowering 阶段请求 kOnHost placement,使算子 kernel 可直接从 host 侧读取该输入。 主要改动 v1 runtime CustomTaskInfo 支持非 Tensor 输入 D2H:ConstructCustomKernelContextInputsOutputs 方法新增读取 input_kinds 与 _custom_op_non_tensor_kind_base 属性,对值依赖的非 Tensor 输入调用 aclrtMemcpy 将数据从 device 拷贝到 host,并将 gert::Tensor 的 placement 设为 kOnHost;新增 host_input_mem_ 成员管理 host 内存生命周期。 v2 lowering 新增 NeedHostInput 判断与 host placement 请求:在 custom_node_converter.cc 中新增 NeedHostInput 函数,综合 input_kinds、_custom_op_non_tensor_kind_base 及 DataDependentInterpreter::IsDataDependent 判断输入是否需要 host 放置;BuildInputTensors 据此为对应输入请求 kOnHost 而非默认的 kOnDeviceHbm。 新增 DeviceHbmToHostPermanent 永久 D2H 拷贝:在 placed_lowering_result.cc 中提供无 FreeMemory guarder 的 D2H 生成器,使拷贝结果生命周期与图一致;同时提取 CallGenerator 辅助函数复用 OnInit/动态生成的判断逻辑。 CreateNoDataDependentResult 支持 priority_generator 串联:当存在优先生成器(如 Const 节点的 SinkWeightData)时,先通过 priority_generator 生成 kOnDeviceHbm 结果,再根据目标 placement 串联 DeviceHbmToHostPermanent 或其他拷贝生成器,实现 H2D→D2H 的链式 placement 转换。 全覆盖单元测试:custom_task_info_unittest.cc、custom_node_converter_unittest.cc、placed_lowering_result_unittest.cc 新增测试用例,覆盖有/无 input_kinds、显式/默认 _custom_op_non_tensor_kind_base 阈值、边界值及 priority_generator 串联等场景。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4169 | 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 | 1 个月前 |