| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【Bugfix】: Use Internal Error instead inner error Co-authored-by: zhanj<zhanjun6@hisilicon.com> # message auto-generated for no-merge-commit merge: !4340 merge b_fix_inner_error into develop 【Bugfix】: Use Internal Error instead inner error Created-by: zhanj Commit-by: zhanj Merged-by: cann-robot Description: # Pull Request ## 描述 【Bugfix】: Use Internal Error instead inner error ## 变更类型 请选择本次引入的变更类型: <!-- [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!4340 | 19 天前 | |
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: 修复aclop与图模式混跑时Python Custom Op资源被提前释放的问题 Co-authored-by: qq_45842700<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !4284 merge fix/custom-op-lifecycle into develop fix: 修复aclop与图模式混跑时Python Custom Op资源被提前释放的问题 Created-by: qq_45842700 Commit-by: qq_45842700 Merged-by: cann-robot Description: # Pull Request ## 描述 PR #4243 修复了 aclop 与图模式混跑时自定义 Pass 资源被提前释放的问题,但同一 GeGenerator::Finalize() 路径中 ShutdownCustomOpsForProcess() 仍被无条件调用,导致 Python Custom Op 存在同类生命周期缺陷(Issue #505)。 本 PR 参照 PR #4243 对 Pass 的修复方式,为 CustomOpLoader 引入 active_users_ 引用计数。 ### 核心修改 1. **runtime/custom_op/custom_op_loader.cc**:引入 active_users_ 引用计数 - Load():每次调用 active_users_++,首次(active_users_ == 0)才真正加载;同时重置 shutdown_done_ = false 以支持 reload 后完整 shutdown - Unload():每次调用 active_users_--,仅当 active_users_ 归零时才执行卸载(UnloadPythonCustomOps + ShutdownPythonCustomOpsForProcess) - 保留 ShutdownCustomOpsForProcess() 作为兼容 wrapper,内部调用 Unload() - 新增 cpp_custom_ops_loaded_ 标志和 RollbackCustomOpsLoad() 回滚方法 2. **调用点替换**(4 个文件):将 ShutdownCustomOpsForProcess() 替换为 UnloadCustomOps() - compiler/api/generator/ge_generator.cc:510(aclop 路径,最关键) - api/session/client/ge_api_v2.cc:267,405(GEInitialize guard + GEFinalize) - compiler/api/aclgrph/ge_ir_build.cc:443,490(aclgrphBuildInitialize guard + aclgrphBuildFinalize) - api/atc/main_impl.cc:2383(ATC 清理路径) ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue - Issue #505 - PR #4243(Pass 同类修复) ## 如何测试 ### Bug 复现条件 在同一 Python 进程内: 1. Phase 1:GEInitialize → Session.add_graph(含 Python Custom Op)→ Session.run_graph → Custom Op execute 成功 2. Phase 2:torch_npu.npu.set_compile_mode(jit_compile=True) → 执行 matmul 等 NPU 单算子 → aclop 创建临时 GeGenerator → Finalize → ShutdownCustomOpsForProcess 3. Phase 3:Session.run_graph(同一已编译图)→ Custom Op 裸指针悬空 ### 修复前 Phase 3 SIGSEGV (exit code 139),Custom Op 被 aclop Finalize 卸载后悬空指针导致段错误。 ### 修复后 - Phase 1:Custom Op 正常加载执行 ✅ - Phase 2:aclop 编译成功 ✅ - Phase 3:Custom Op 仍正常执行 ✅(不再崩溃) - 引用计数日志:LoadCustomOps active_users_=1 → =2(aclop Load)→ =1(aclop Unload,不卸载)→ =0(GEFinalize,真正卸载) ### 测试环境 - Ascend 910, CANN 9.2.0, Python 3.12 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我在标题中使用了合适的类型标签(fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 修复方案完全对齐 PR #4243 对 Pass 的修复模式(active_users_ 引用计数),改动量小、风险可控。Pass 和 Custom Op 的修复模式一致,便于后续维护。 See merge request: cann/ge!4284 | 22 天前 | |
feat: 增加 ONNX Plugin Python API 基础能力 Co-authored-by: gentle-knight<522025150054@smail.nju.edu.cn> # message auto-generated for no-merge-commit merge: !4353 merge feat/onnx-plugin-python-api-foundation into develop feat: 增加 ONNX Plugin Python API 基础能力 Created-by: gentle-knight Commit-by: gentle-knight Merged-by: cann-robot Description: # Pull Request ## 描述 新增 ONNX Plugin Python API 功能包 A,并修正 ATC 未知错误兜底文案。 业务背景:ONNX Plugin Python 化需要先提供稳定的 Python API、descriptor registry 和共享插件发现能力。ONNX Plugin 与 Python custom op 复用 ASCEND_CUSTOM_OPP_PATH,因此同一物理模块必须避免被不同入口重复执行。 主要变更: 1. 新增 ge.onnx_plugin API、只读 OnnxNode 和 callback-bound ge.graph.Operator。 2. 新增 descriptor registry,支持 opset 归一化、完整 origin type 展开和重复注册预检查。 3. 共享 plugin_loader 使用 canonical physical path 保证同一文件或 package 经相对路径、绝对路径、符号链接或 custom op/ONNX Plugin 不同入口发现时只执行一次,并在 import 失败时清理半初始化模块。新增测试覆盖同目录不同文件分别实现 custom op 与 ONNX Plugin,以及环境变量显式列出两个不同文件的场景。 4. 将 api/atc/main_impl.cc 中 E19999 兜底文案从 Inner Error 修正为 Internal Error,并在 ErrorManager 返回空字符串时输出该兜底文案。 本 PR 仅包含功能包 A,不包含 Native Bridge、ONNX Parser 注册、Parser C++ 代码、Parser UT/ST 或工作包 B 内容。 ## 变更类型 - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 暂无。 ## 如何测试 1. 增量构建 ge_python_main_wheel 并刷新 install_ge_py_for_tests,构建通过。 2. 运行共享 loader 定向测试:原有 8 passed,新增不同文件 custom op/ONNX Plugin 场景 2 passed。 3. 运行其余 ONNX Plugin 功能包 A 定向测试:49 passed。 4. 增量编译 ut_libge_multiparts_utest 和 graph_engine_test,均通过。 5. 运行 ATC 空错误消息定向 UT:1 passed。 6. 运行 ATC 空错误消息定向 ST:1 passed。 7. api/atc/main_impl.cc 编译及 atc_static 生成通过;本地 atc_atc.bin 最终链接受现有 libascendalog.so 链接依赖缺失阻塞。 8. 对全部 PR 文件执行 pre-commit,所有 hooks 通过。 9. 执行 git diff --check upstream/develop...HEAD,检查通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已确认本次修改无需更新用户文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 - 目标分支:cann/ge:develop。 - 本 PR 保留共享 loader 的 canonical-path 单次加载语义,以保证复用 ASCEND_CUSTOM_OPP_PATH 时 custom op 与 ONNX Plugin 可以安全共存。 - 本 PR 不包含工作包 B。 - 建议评审顺序:公开 API、Operator handle/生命周期、registry 冲突语义、共享 loader 共存语义、Python UT。 See merge request: cann/ge!4353 | 18 天前 | |
【Revert】【PR】: 新增option ge.inputHintValue 支持host tensor 符号化推导 回退 Co-authored-by: chengyutao3<chengyutao3@huawei.com> # message auto-generated for no-merge-commit merge: !4370 merge revert-mr-4251-1786611114690-auto into develop 【Revert】【PR】: 新增option ge.inputHintValue 支持host tensor 符号化推导 回退 Created-by: chengyutao3 Commit-by: chengyutao3 Merged-by: cann-robot Description: # Pull Request ## 描述 新增option ge.inputHintValue 支持host tensor 符号化推导 回退 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4370 | 18 天前 | |
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 个月前 |