| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs: 补充 AnnotatedArgs 地址刷新 Python 资料与样例 Co-authored-by: shangdf<shangdongfang1@huawei.com> # message auto-generated for no-merge-commit merge: !4316 merge feature/annotated-args-python-docs-example into develop docs: 补充 AnnotatedArgs 地址刷新 Python 资料与样例 Created-by: shangdf Commit-by: shangdf Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 从 PR 4254 中拆出 AnnotatedArgs 地址刷新接口 Python 化的资料与可运行样例,降低核心实现 PR 的检视规模。 变更内容: - 更新 GE Python 自定义算子中英文资料,补充 declare_launch_args、AnnotatedArgsContext、显式刷新模式及老 OM 兼容说明。 - 新增 examples/custom_op/annotated_args_refresh_add_custom/python/,覆盖 Python 构图、ATC 离线编译、无 Python 环境加载以及两轮地址刷新执行。 - 本 PR 不包含接口实现和 UT/ST;核心能力由 PR 4254 提供。 依赖关系:本 PR 依赖 PR 4254,需在 PR 4254 合入后再合入。本 PR 暂以 [wip] 标记。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 依赖 PR:https://gitcode.com/cann/ge/pull/4254 ## 如何测试 1. 对全部 15 个变更文件运行 pre-commit run --files ...,所有检查通过。 2. 对 python/run.sh 运行 bash -n,并对 3 个 Python 源文件运行 AST 语法解析,检查通过。 3. example 文件与 PR 4254 拆分前完成 NPU 端到端验证的版本一致;待 PR 4254 核心能力合入后,可按 python/README.md 在真机重新执行完整验证。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 源分支:feature/annotated-args-python-docs-example - 基线:develop(创建分支时对应提交 7494a9777) - 本 PR 仅包含资料和 example,便于与核心实现分别检视。 See merge request: cann/ge!4316 | 3 天前 | |
docs: 补充 AnnotatedArgs 地址刷新 Python 资料与样例 Co-authored-by: shangdf<shangdongfang1@huawei.com> # message auto-generated for no-merge-commit merge: !4316 merge feature/annotated-args-python-docs-example into develop docs: 补充 AnnotatedArgs 地址刷新 Python 资料与样例 Created-by: shangdf Commit-by: shangdf Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 从 PR 4254 中拆出 AnnotatedArgs 地址刷新接口 Python 化的资料与可运行样例,降低核心实现 PR 的检视规模。 变更内容: - 更新 GE Python 自定义算子中英文资料,补充 declare_launch_args、AnnotatedArgsContext、显式刷新模式及老 OM 兼容说明。 - 新增 examples/custom_op/annotated_args_refresh_add_custom/python/,覆盖 Python 构图、ATC 离线编译、无 Python 环境加载以及两轮地址刷新执行。 - 本 PR 不包含接口实现和 UT/ST;核心能力由 PR 4254 提供。 依赖关系:本 PR 依赖 PR 4254,需在 PR 4254 合入后再合入。本 PR 暂以 [wip] 标记。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue 依赖 PR:https://gitcode.com/cann/ge/pull/4254 ## 如何测试 1. 对全部 15 个变更文件运行 pre-commit run --files ...,所有检查通过。 2. 对 python/run.sh 运行 bash -n,并对 3 个 Python 源文件运行 AST 语法解析,检查通过。 3. example 文件与 PR 4254 拆分前完成 NPU 端到端验证的版本一致;待 PR 4254 核心能力合入后,可按 python/README.md 在真机重新执行完整验证。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 源分支:feature/annotated-args-python-docs-example - 基线:develop(创建分支时对应提交 7494a9777) - 本 PR 仅包含资料和 example,便于与核心实现分别检视。 See merge request: cann/ge!4316 | 3 天前 | |
fix: 修复aclop与图模式混跑时自定义Pass资源被提前释放的问题 Co-authored-by: qq_45842700<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !4243 merge fix/custom-pass-lifecycle-v2 into develop fix: 修复aclop与图模式混跑时自定义Pass资源被提前释放的问题 Created-by: qq_45842700 Commit-by: qq_45842700 Merged-by: cann-robot Description: ## 描述 修复 aclop 单算子编译与 GeSession 图编译混跑时,自定义 Pass 资源被提前释放的问题。 **问题根因**: GeGenerator::Finalize() 调用 ShutdownPassPluginsForProcess() 执行进程级 Pass 卸载,清空 registration_datas_ 并 dlclose 动态库句柄。aclop 单算子编译结束后会释放仍被 GeSession 图编译依赖的 Pass 资源,导致后续图编译中自定义 Pass 不再执行。 **解决方案**: 1. PassPluginLoader 引入引用计数 active_users_: - LoadPassPlugins(): active_users_==0 时首次加载 C++/Python Pass,每次调用 +1 - UnloadPassPlugins(): 每次调用 -1,仅 active_users_==0 时真正卸载 + 进程级清理 2. GeGenerator::Finalize() 改用 UnloadPassPlugins() 替代 ShutdownPassPluginsForProcess(),只递减引用计数,不强制卸载进程级资源 3. GeGenerator 增加 pass_plugins_loaded_ flag + GE_DISMISSABLE_GUARD,保证 Initialize 失败时自动释放 Pass 引用 4. 所有调用方(GEInitialize/GEFinalize/GeGenerator/ATC/aclgrphBuild)统一用 Load/Unload 5. 移除 PassPluginLease 类、AcquirePassPlugins/ReleasePassPlugins/ShutdownPassPluginsForProcess 6. CustomPassHelper::Insert() 去掉 unique_lock,防止 Load() 持锁时 dlopen 触发 PassReceiver 构造函数 → Insert() 重入导致同线程死锁(std::shared_mutex 不支持递归) ## 变更类型 - [x] 🐛 Bug 修复 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 See merge request: cann/ge!4243 | 9 天前 | |
refactor: 清理文档目录,更新配置文件 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 天前 | ||
| 3 天前 | ||
| 9 天前 | ||
| 1 个月前 |