| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: 修复Python自定义算子和自定义pass加载失败清理 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !3850 merge develop into develop fix: 修复Python自定义算子和自定义pass加载失败清理 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 修复 Python 自定义算子和 Python 自定义融合 pass 在加载失败路径上的错误处理与资源清理问题,避免无效环境变量被静默忽略、加载失败后遗留半初始化状态,以及 Python runtime finalizing 阶段因 pybind 对象未清理导致 core。 ## 问题及修改方案 1. ASCEND_CUSTOM_OPP_PATH 中存在无效路径时,Python 自定义算子入口探测原先 stat 失败只返回 false,导致 LoadCustomOps 跳过 Python 加载,和 Python pass 的失败语义不一致。 修改方案:将探测接口调整为 CheckNeedLoadPythonCustomOps(bool &need_load),非空路径项 stat 失败统一返回 FAILED;已有普通 .py 文件、Python 包或一级 .py 文件仍判定为需要加载;已有非 Python 文件不作为 Python 入口加载。 2. Python 自定义算子加载失败后只返回错误,可能留下已注册或半初始化的 Python custom op 状态,随后失败路径关闭 Python runtime 时,可能在 CPython finalizing 阶段因残留 pybind 对象触发 core。 修改方案:在 LoadPythonCustomOps 失败路径调用 RollbackPythonCustomOpsLoad(),执行 UnloadPythonCustomOps() 并复位 python_custom_ops_loaded_。 3. Python 自定义 pass 注册重名或加载异常时,RegisterPythonPassesFromPlugin() 返回失败但 pass bridge/module 未回滚;随后 GEInitialize、IR build 或 ATC 失败路径关闭 Python runtime 时,可能在 CPython finalizing 阶段因残留 pybind 对象触发 core。 修改方案:pass 加载失败时调用 RollbackPythonPassesLoad();GEInitialize、aclgrphBuildInitialize 和 ATC 主流程失败清理中按 ShutdownPassPluginsForProcess() -> ShutdownCustomOpsForProcess() -> ShutdownProcess() 顺序释放。 4. ir_build_so_in_om_multi_customize_priroity 测试修改 ASCEND_CUSTOM_OPP_PATH 后未恢复,且 setenv(..., 0) 可能受外部环境影响。 修改方案:测试保存并恢复原始 ASCEND_CUSTOM_OPP_PATH,设置测试路径时允许覆盖。 ## 变更类型 - [x] Bug 修复 - [ ] 新功能 - [ ] 代码风格更新 - [ ] 重构 - [ ] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 关联的Issue 无 ## 如何测试 - 使用重名python 自定义pass、自定义算子,正常失败退出,没有core dump - 自定义算子环境变量设置非法路径、文件时,显示报错 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档:本次为加载失败路径修复,未新增公开接口说明 - [x] 我在标题中使用了合适的类型标签 - [x] 我已经详细阅读了贡献指南,并遵守了其中的提交要求 ## 其他信息 See merge request: cann/ge!3850 | 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 个月前 | |
【feature】: HostCPU 调度优化 Co-authored-by: SeasonChu<zhuxincheng2@huawei.com> # message auto-generated for no-merge-commit merge: !3626 merge hostcpu into develop 【feature】: HostCPU 调度优化 Created-by: SeasonChu Commit-by: SeasonChu Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 新增hostCpu调度特性如果DATA设置了 _host_tensor=true ,该DATA节点会被放在host上 主要变更: 1. 完善 HostCPU anchor 识别 - Data 节点支持通过 _host_tensor=true 作为 HostCPU 传播起点。 2. 新增 _host_tensor_as_model_input 标记 - HostcpuEngineUpdatePass BFS 传播完成后,对 host_exe_ops_ 中的 Data 节点追加 _host_tensor_as_model_input=true。 - 该标记用于区分“前端 host tensor 标记”和“运行时需要保持 Host placement 的模型输入”。 3. 运行时按新标记处理模型输入 - HybridModelRtV2Executor 初始化 host model input 索引。 - 对标记为 host model input 的输入跳过 H2D,直接保持 Host placement。 - 增加 device placement 校验,避免 HostCPU 节点误消费 Device 地址。 - runtime/v2/engine/gelocal/inputs_converter.cc 改为基于 _host_tensor_as_model_input 设置 feed data placement。 4. 补充相关 UT/ST - 更新 HostcpuEngineUpdatePass 单测。 - 增加 HybridModelRtV2Executor host model input 场景测试。 - 回归 fast runtime v2/autofuse 相关用例适配。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. 执行 HostcpuEngineUpdatePass 相关 UT,验证 BFS 传播后的 Data 节点会被标记为 _host_tensor_as_model_input=true。 2. 执行 HybridModelRtV2Executor 相关 UT/ST,验证 host model input 跳过 H2D 并保持 Host placement。 3. 回归 fast runtime v2/autofuse 相关测试,确认普通 Device 输入路径不受影响。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 该修改将 HostCPU 传播结果固化到 Data 节点,供运行时统一判断模型输入 placement,避免仅依赖前端 _host_tensor 标记导致输入仍被搬运到 Device。 See merge request: cann/ge!3626 | 1 个月前 | |
【fix】: 自动融合符号化推导shape callback推导和静态shape推导顺序调整 Co-authored-by: chengyutao3<chengyutao3@huawei.com> # message auto-generated for no-merge-commit merge: !4180 merge develop into develop 【fix】: 自动融合符号化推导shape callback推导和静态shape推导顺序调整 Created-by: chengyutao3 Commit-by: chengyutao3 Merged-by: cann-robot Description: # Pull Request ## 描述 1. 冗余的include删除 2.调整自动融合符号化推导shape callback推导和静态shape推导顺序调整,有些场景如果优先命中静态shape推导会导致guard缺失。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 Baize ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4180 | 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 个月前 | |
feat: 支持 Python 自定义算子桥接加载 Co-authored-by: du-hua1024<duhua2@huawei.com> # message auto-generated for no-merge-commit merge: !3974 merge op-cpp into develop feat: 支持 Python 自定义算子桥接加载 Created-by: du-hua1024 Commit-by: du-hua1024 Merged-by: cann-robot Description: # Pull Request ## 描述 支持 Python 自定义算子在编译与执行链路中的桥接加载和注册。主要变更如下: 1. 新增 runtime/custom_op 自定义算子加载能力,包括 custom op loader、Python bridge loader、pybind bridge 和桥接 C API。 2. 在 ATC、session、compiler、runtime v1 等入口接入 Python 自定义算子加载流程,覆盖编译前加载与执行侧注册。 3. 将 Python artifact 选择逻辑迁移到 base/common/python_runtime,新增通用 python_bridge_loader_utils.h,复用 Python bridge 动态加载能力。 4. 扩展 graph_metadef 自定义算子 factory/registry 能力,并调整 Python pass fallback、fusion pass loader 等相关调用。 5. 补充和调整 Python runtime artifact、fusion pass executor、custom op factory 相关 UT 构建与用例。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧“关联Issue”部分添加相应Issue链接,并勾选“合并后关闭已关联的 Issue”选项。 --> 未关联 Issue。 ## 如何测试 新增及历史UT ST任务正常执行 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/ge!3974 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 |