| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
revert: 回退"修复GEFinalizeV2后Session析构卡死"(!4554) Co-authored-by: lining23666<lining.li@huawei.com> # message auto-generated for no-merge-commit merge: !4589 merge revert/pr-4554 into develop revert: 回退"修复GEFinalizeV2后Session析构卡死"(!4554) Created-by: lining23666 Commit-by: lining23666 Merged-by: cann-robot Description: ## 描述 回退 PR !4554(commit c8c0490cd),该 PR 修复了 GEFinalizeV2 后 Session 析构卡死问题,现将该修复回退。 回退的变更: - api/session/client/ge_api.cc:~Session() 析构函数的检查从 g_session_manager == nullptr 恢复为 IsGEInitialize() - tests/ge/ut/ge/session/ge_api_unittest.cc:移除该 PR 新增的测试用例 ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue ## 如何测试 1. 编译 ge 2. 运行 tests/ge/ut/ge/session/ge_api_unittest ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 此 PR 为 git revert 自动生成的回退提交,无冲突。 See merge request: cann/ge!4589 | 21 天前 | |
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】: JIT 调度与切图解耦,开启自动融合时整图jit执行 Co-authored-by: chengyutao3<chengyutao3@huawei.com> # message auto-generated for no-merge-commit merge: !4566 merge develop into develop 【feat】: JIT 调度与切图解耦,开启自动融合时整图jit执行 Created-by: chengyutao3 Commit-by: chengyutao3 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 将 AutoFuse JIT 执行能力从“支持切片调度的图”扩展为“整图 JIT”模式。 主要变更内容如下: 1. 新增 EnableAutoFuse(),统一判断 AutoFuse 是否启用,并将 AutoFuse 模式下的图管理、编译、加载、执行及运行模式设置统一路由至 UserGraphsManager。 2. 扩展 UserGraphControl,支持整图的动态添加、编译、加载和执行: - 支持 ge::Tensor 和 gert::Tensor 两类输入输出。 - 支持普通执行和带 Stream 的异步执行。 - 支持保存、获取和设置 RunGraphMode。 - 在控制器结束时清理临时创建的整图实例。 3. 调整执行顺序生成逻辑: - 支持切片调度的图继续执行符号推导和二分切图。 - 不支持切片调度的图直接以整图方式编译执行。 - 整图模式下提前创建或更新 NetOutput,确保输出大小信息能够正确校正。 - 增加 WholeGraph_ 和 SlicedGraph_ 图 Dump 前缀,便于区分调试产物。 4. 调整 Session 和 GeSession V2 的接口调用: - AutoFuse 模式下,RunGraph、RunGraphWithStreamAsync、编译及加载流程统一使用 JIT 图管理路径。 - AutoFuse 模式下禁止设置或更新图常量内存、Feature 内存,并将错误提示从“slice scheduler”更新为“JIT executor”。 - 避免在 AutoFuse 模式下重复执行传统图加载逻辑。 5. 移除原有“不支持 Slice Schedule 图”的黑名单逻辑,改为在 AutoFuse 模式下统一创建 UserGraphControl,由执行顺序决定采用切片编译或整图编译。 6. 更新 AutoFuse 系统测试,使其通过真实的 CompileGraph 流程触发编译,并从 JIT 编译缓存中的图副本检查融合结果。 7. 新增和完善相关单元测试,覆盖: - 整图静态 Shape 执行。 - GeTensor 和 gert::Tensor 输入输出执行。 - Stream 异步执行。 - AutoFuse 模式下 RunGraphMode 的获取与设置。 - AutoFuse 模式下图内存接口不支持场景。 8. 调整测试图输入尺寸及相关测试构建头文件路径,以适配整图 JIT 流程。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 暂无关联 Issue。 ## 如何测试 描述测试此变更的步骤和前提条件: 前提条件: - 已完成 GE 项目依赖和编译环境配置。 - 测试环境支持 GE UT/ST 构建。 - AutoFuse 测试需要设置 AUTOFUSE_FLAGS,启用 --enable_autofuse=true;涉及切片调度的测试还需要启用 --experimental_enable_jit_executor_v2=true。 1. 编译 GE 相关组件及测试目标: bash bash build.sh --ge_compiler --ge_executor 2. 编译并运行 JIT Execution 相关单元测试,重点检查以下测试文件: - tests/ge/ut/ge/jit_execution/execution_order_unittest.cc - tests/ge/ut/ge/jit_execution/jit_executor_unittest.cc - tests/ge/ut/ge/jit_execution/user_graph_ctrl_unittest.cc - tests/ge/ut/ge/jit_execution/user_graph_manager_unittest.cc 3. 运行 Session V2 API 单元测试,重点验证 AutoFuse 模式下图执行及图内存接口行为: - tests/ge/ut/ge/session_v2/ge_api_v2_unittest.cc - SliceSchedule_UnsupportedPaths 4. 运行 AutoFuse 系统测试: - tests/ge/st/testcase/autofuse/autofuse_canfuse_test.cc 验证水平融合、垂直融合以及不同算子组合的融合结果,并确认测试通过 Session::CompileGraph 触发真实 JIT 编译,从 JIT 编译图副本中检查 AscBackend 和融合属性。 5. 重点验证以下场景: - 支持 Slice Schedule 的图仍可正常切片编译。 - 不支持 Slice Schedule 的图可以通过整图 JIT 路径完成编译、加载和执行。 - 普通 RunGraph、RunGraphAsync 以及 RunGraphWithStreamAsync 路径均能正确路由。 - AutoFuse 模式下设置图常量内存或 Feature 内存时返回 UNSUPPORTED,且日志提示为 JIT executor 不支持。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 本次提交共修改 19 个文件,新增约 495 行代码,删除约 187 行代码。 See merge request: cann/ge!4566 | 22 天前 | |
【feat】: JIT 调度与切图解耦,开启自动融合时整图jit执行 Co-authored-by: chengyutao3<chengyutao3@huawei.com> # message auto-generated for no-merge-commit merge: !4566 merge develop into develop 【feat】: JIT 调度与切图解耦,开启自动融合时整图jit执行 Created-by: chengyutao3 Commit-by: chengyutao3 Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 将 AutoFuse JIT 执行能力从“支持切片调度的图”扩展为“整图 JIT”模式。 主要变更内容如下: 1. 新增 EnableAutoFuse(),统一判断 AutoFuse 是否启用,并将 AutoFuse 模式下的图管理、编译、加载、执行及运行模式设置统一路由至 UserGraphsManager。 2. 扩展 UserGraphControl,支持整图的动态添加、编译、加载和执行: - 支持 ge::Tensor 和 gert::Tensor 两类输入输出。 - 支持普通执行和带 Stream 的异步执行。 - 支持保存、获取和设置 RunGraphMode。 - 在控制器结束时清理临时创建的整图实例。 3. 调整执行顺序生成逻辑: - 支持切片调度的图继续执行符号推导和二分切图。 - 不支持切片调度的图直接以整图方式编译执行。 - 整图模式下提前创建或更新 NetOutput,确保输出大小信息能够正确校正。 - 增加 WholeGraph_ 和 SlicedGraph_ 图 Dump 前缀,便于区分调试产物。 4. 调整 Session 和 GeSession V2 的接口调用: - AutoFuse 模式下,RunGraph、RunGraphWithStreamAsync、编译及加载流程统一使用 JIT 图管理路径。 - AutoFuse 模式下禁止设置或更新图常量内存、Feature 内存,并将错误提示从“slice scheduler”更新为“JIT executor”。 - 避免在 AutoFuse 模式下重复执行传统图加载逻辑。 5. 移除原有“不支持 Slice Schedule 图”的黑名单逻辑,改为在 AutoFuse 模式下统一创建 UserGraphControl,由执行顺序决定采用切片编译或整图编译。 6. 更新 AutoFuse 系统测试,使其通过真实的 CompileGraph 流程触发编译,并从 JIT 编译缓存中的图副本检查融合结果。 7. 新增和完善相关单元测试,覆盖: - 整图静态 Shape 执行。 - GeTensor 和 gert::Tensor 输入输出执行。 - Stream 异步执行。 - AutoFuse 模式下 RunGraphMode 的获取与设置。 - AutoFuse 模式下图内存接口不支持场景。 8. 调整测试图输入尺寸及相关测试构建头文件路径,以适配整图 JIT 流程。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 暂无关联 Issue。 ## 如何测试 描述测试此变更的步骤和前提条件: 前提条件: - 已完成 GE 项目依赖和编译环境配置。 - 测试环境支持 GE UT/ST 构建。 - AutoFuse 测试需要设置 AUTOFUSE_FLAGS,启用 --enable_autofuse=true;涉及切片调度的测试还需要启用 --experimental_enable_jit_executor_v2=true。 1. 编译 GE 相关组件及测试目标: bash bash build.sh --ge_compiler --ge_executor 2. 编译并运行 JIT Execution 相关单元测试,重点检查以下测试文件: - tests/ge/ut/ge/jit_execution/execution_order_unittest.cc - tests/ge/ut/ge/jit_execution/jit_executor_unittest.cc - tests/ge/ut/ge/jit_execution/user_graph_ctrl_unittest.cc - tests/ge/ut/ge/jit_execution/user_graph_manager_unittest.cc 3. 运行 Session V2 API 单元测试,重点验证 AutoFuse 模式下图执行及图内存接口行为: - tests/ge/ut/ge/session_v2/ge_api_v2_unittest.cc - SliceSchedule_UnsupportedPaths 4. 运行 AutoFuse 系统测试: - tests/ge/st/testcase/autofuse/autofuse_canfuse_test.cc 验证水平融合、垂直融合以及不同算子组合的融合结果,并确认测试通过 Session::CompileGraph 触发真实 JIT 编译,从 JIT 编译图副本中检查 AscBackend 和融合属性。 5. 重点验证以下场景: - 支持 Slice Schedule 的图仍可正常切片编译。 - 不支持 Slice Schedule 的图可以通过整图 JIT 路径完成编译、加载和执行。 - 普通 RunGraph、RunGraphAsync 以及 RunGraphWithStreamAsync 路径均能正确路由。 - AutoFuse 模式下设置图常量内存或 Feature 内存时返回 UNSUPPORTED,且日志提示为 JIT executor 不支持。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 本次提交共修改 19 个文件,新增约 495 行代码,删除约 187 行代码。 See merge request: cann/ge!4566 | 22 天前 | |
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 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 21 天前 | ||
| 2 个月前 | ||
| 22 天前 | ||
| 22 天前 | ||
| 2 个月前 | ||
| 2 个月前 |