| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 个月前 | |
【Revert】【PR】: Revert jit调度和切图解耦,开启自动融合便走jit执行,SliceSchedule只控制是否切图 Co-authored-by: chengyutao3<chengyutao3@huawei.com> # message auto-generated for no-merge-commit merge: !4524 merge develop into develop 【Revert】【PR】: Revert jit调度和切图解耦,开启自动融合便走jit执行,SliceSchedule只控制是否切图 Created-by: chengyutao3 Commit-by: chengyutao3 Merged-by: cann-robot Description: # Pull Request ## 描述 回退"整图 JIT"特性(对应提交 c165ea09a:jit 调度与切图解耦、开启自动融合即走 JIT 执行),恢复原有行为:**仅当同时开启自动融合(autofuse)与切片调度(slice schedule)时才走 JIT 执行路径**,否则图回退到传统编译/加载路径。 主要变更: 1. 恢复 UserGraphsManager::ShouldUseSliceSchedule() 及 slice_schedule_unsupported_set_ 黑名单机制,AddGraph/BuildGraph/RunGraphAsync/CompileGraph/LoadGraph/RemoveGraph 等分发入口的判断由 EnableAutoFuse() 改回 ShouldUseSliceSchedule(),不支持切图调度的图回退传统模式。 2. 移除 UserGraph::slice_supported 字段及 ExecutionOrder::AddNewSlice() 中的整图模式分支(sliced_graph = graph; remaining_graph = nullptr),切图逻辑恢复为"节点全部可推断则整图不切、否则二分切图"。 3. SetGraphConstMemoryBase、UpdateGraphFeatureMemoryBase、SetGraphFixedFeatureMemoryBaseWithType、UpdateGraphRefreshableFeatureMemoryBase 四个内存类接口的守卫由 EnableAutoFuse() 改回 EnableSliceSchedule(),报错文案由 "JIT executor" 恢复为 "slice scheduler"。 4. 删除 option_utils.{h,cc} 中新增的 EnableAutoFuse() 开关。 5. 测试适配:autofuse_canfuse_test.cc 由 CompileGraph + GetJitCompiledGraph()(取 JIT 编译副本断言)恢复为 BuildGraph + 原图断言;execution_order_unittest、jit_executor_unittest、user_graph_manager_unittest、ge_api_v2_unittest 等同步回退;share_graph.cc 中 BuildStaticTwoReduceNodeGraph 的 shape 由 {2,2,16} 恢复为 {2,2,2}。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动)—— 回退已合入的"整图 JIT"特性 - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 编译并运行 JIT 执行相关单测:tests/ge/ut/ge/jit_execution/ 下的 execution_order_unittest、jit_executor_unittest、user_graph_manager_unittest,以及 tests/ge/ut/ge/session_v2/ge_api_v2_unittest.cc 中的 SliceSchedule_UnsupportedPaths 用例,确认全部通过。 2. 编译并运行 autofuse 场景测试 tests/ge/st/testcase/autofuse/autofuse_canfuse_test.cc(BuildGraph 流程),确认融合结果断言通过。 3. 功能验证:仅设置 --enable_autofuse=true(未开启 experimental_enable_jit_executor_v2)时,确认图走传统编译路径而非 JIT 整图执行;同时开启两者时确认仍走切片调度 JIT 路径,内存基址类接口(SetGraphConstMemoryBase 等)返回 UNSUPPORTED 且日志文案为 "does not support the slice scheduler currently"。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 建议标题使用 revert: 回退整图JIT执行特性(本次为回退提交,未采用 git revert 自动生成信息,而是手动反向修改,改动净效果为 −219/+183 行)。 - 涉及代码路径较多(API 层、JIT 执行器、切图调度、测试),建议合入前完整跑一遍 tests/ge/ut 与 autofuse ST 用例。 See merge request: cann/ge!4524 | 24 天前 | |
【PR】: 对外头文件整改,新增转发头文件后修改引用和配置 Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !3568 merge jk_external into develop 【PR】: 对外头文件整改,新增转发头文件后修改引用和配置 Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 对外头文件整改,新增转发头文件后修改引用和配置。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!3568 | 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: 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 个月前 | |
【PR】: 对外头文件整改,新增转发头文件后修改引用和配置 Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !3568 merge jk_external into develop 【PR】: 对外头文件整改,新增转发头文件后修改引用和配置 Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 对外头文件整改,新增转发头文件后修改引用和配置。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!3568 | 2 个月前 | |
【PR】: Host tensor value symbolize Co-authored-by: chengyutao3<chengyutao3@huawei.com> # message auto-generated for no-merge-commit merge: !4443 merge develop into develop 【PR】: Host tensor value symbolize Created-by: chengyutao3 Commit-by: chengyutao3 Merged-by: cann-robot Description: # Pull Request ## 描述 本次提交为 host tensor(host 侧输入张量)新增**值符号化(value symbolization)**能力,使依赖输入 tensor 具体数值(如 Reshape 的 shape 输入)进行符号推导的场景不再需要把输入搬到 device,从而提升 JIT 执行与符号推导的准确性和性能。 核心变更包括: 1. **新增 graph 级 option ge.inputHintValue**:支持通过 input_index:[v0,v1,...] 的形式为指定输入指定符号化提示值(与已有 ge.inputHintShape 对齐),并在 option_supportion_checker 中将该 option 登记为受支持项。 2. **值符号化实现**(symbolic_shape_symbolizer.cc): - 新增 SymbolizeInputValue,优先使用真实 host 数据(支持 INT32/INT64/UINT32/UINT64,元素数上限 200)生成逐元素符号;无真实数据时回退到 ge.inputHintValue 配置值。 - 新增 InputValueElementSource,生成可在运行时读取 GetGraphInputTensor(idx) 对应元素数值的 source 串。 3. **值依赖输入识别**(symbolic_infer_util.cc):新增 IsValueDependentDataNode / GetValueDependentInputIdxs,通过算子的 IsInputDataDependency 与 op_infer_depends 判定哪些图输入是"值依赖"的,结果缓存到图 attr 中。 4. **JIT 执行路径适配**(jit_executor.cc): - CopyHostInputsToDevice 支持 keep_on_host_idxs,值依赖的 host 输入不再拷贝到 device。 - BuildCompileInputs 对已在 host 的输入跳过重复拷贝。 - MarkHostTensorOnDataNodes 改为直接基于 ComputeGraph 处理。 5. **option 解析重构**(option_utils.cc/h):将 ge.inputHintShape 的解析逻辑抽象为通用模板 ParseIndexedListOption,并复用其实现新增 ParseHintInputValue。 6. **测试补充与适配**:新增 UT symbolic_value_inference_unittest.cc、ST test_symbolize_value_and_infer.cc 的 hint value/真实数据用例;JIT 相关用例将 shape 输入由 INT32 调整为 INT64 并置为 host placement;user_graph_manager 用例按"值符号化后 reshape 不再切分执行点"的预期更新。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 运行符号值推导相关用例:tests/ge/ut/ge/graph/optimize/symbolic/symbolic_value_inference_unittest.cc(compile_path_reshape_with_hint_value、execute_path_reshape_with_real_data)。 2. 运行 autofuse ST:tests/ge/st/testcase/autofuse/test_symbolize_value_and_infer.cc(reshape_symbolize_infer_with_input_hint_value、reshape_symbolize_infer_with_real_data)。 3. 运行 JIT 执行相关用例:jit_executor_unittest.cc、user_graph_manager_unittest.cc(验证值符号化后图不再切分、host 输入不被重复拷贝)。 4. 构造含 Reshape 且 shape 输入为 host tensor 的模型,配置 ge.inputHintValue(如 1:[5, 400]),确认符号化推导结果符合预期,且无 device 拷贝开销。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 值符号化优先级:真实 host data > ge.inputHintValue 配置值;当已存在符号化 value 时跳过。 - 阈值 kMaxSymbolizeValueElemNum = 200 与 symbolic_shape_inference.cc 中的 kMaxSymbolicValueSize 保持一致,仅对 shape/索引类小 tensor 进行值符号化。 - 值依赖输入识别结果以图 attr _ge_value_dependent_idxs 缓存,避免重复计算。 See merge request: cann/ge!4443 | 30 天前 | |
【PR】: 对外头文件整改,新增转发头文件后修改引用和配置 Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !3568 merge jk_external into develop 【PR】: 对外头文件整改,新增转发头文件后修改引用和配置 Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 对外头文件整改,新增转发头文件后修改引用和配置。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!3568 | 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 个月前 | |
【Revert】【PR】: Revert jit调度和切图解耦,开启自动融合便走jit执行,SliceSchedule只控制是否切图 Co-authored-by: chengyutao3<chengyutao3@huawei.com> # message auto-generated for no-merge-commit merge: !4524 merge develop into develop 【Revert】【PR】: Revert jit调度和切图解耦,开启自动融合便走jit执行,SliceSchedule只控制是否切图 Created-by: chengyutao3 Commit-by: chengyutao3 Merged-by: cann-robot Description: # Pull Request ## 描述 回退"整图 JIT"特性(对应提交 c165ea09a:jit 调度与切图解耦、开启自动融合即走 JIT 执行),恢复原有行为:**仅当同时开启自动融合(autofuse)与切片调度(slice schedule)时才走 JIT 执行路径**,否则图回退到传统编译/加载路径。 主要变更: 1. 恢复 UserGraphsManager::ShouldUseSliceSchedule() 及 slice_schedule_unsupported_set_ 黑名单机制,AddGraph/BuildGraph/RunGraphAsync/CompileGraph/LoadGraph/RemoveGraph 等分发入口的判断由 EnableAutoFuse() 改回 ShouldUseSliceSchedule(),不支持切图调度的图回退传统模式。 2. 移除 UserGraph::slice_supported 字段及 ExecutionOrder::AddNewSlice() 中的整图模式分支(sliced_graph = graph; remaining_graph = nullptr),切图逻辑恢复为"节点全部可推断则整图不切、否则二分切图"。 3. SetGraphConstMemoryBase、UpdateGraphFeatureMemoryBase、SetGraphFixedFeatureMemoryBaseWithType、UpdateGraphRefreshableFeatureMemoryBase 四个内存类接口的守卫由 EnableAutoFuse() 改回 EnableSliceSchedule(),报错文案由 "JIT executor" 恢复为 "slice scheduler"。 4. 删除 option_utils.{h,cc} 中新增的 EnableAutoFuse() 开关。 5. 测试适配:autofuse_canfuse_test.cc 由 CompileGraph + GetJitCompiledGraph()(取 JIT 编译副本断言)恢复为 BuildGraph + 原图断言;execution_order_unittest、jit_executor_unittest、user_graph_manager_unittest、ge_api_v2_unittest 等同步回退;share_graph.cc 中 BuildStaticTwoReduceNodeGraph 的 shape 由 {2,2,16} 恢复为 {2,2,2}。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动)—— 回退已合入的"整图 JIT"特性 - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 编译并运行 JIT 执行相关单测:tests/ge/ut/ge/jit_execution/ 下的 execution_order_unittest、jit_executor_unittest、user_graph_manager_unittest,以及 tests/ge/ut/ge/session_v2/ge_api_v2_unittest.cc 中的 SliceSchedule_UnsupportedPaths 用例,确认全部通过。 2. 编译并运行 autofuse 场景测试 tests/ge/st/testcase/autofuse/autofuse_canfuse_test.cc(BuildGraph 流程),确认融合结果断言通过。 3. 功能验证:仅设置 --enable_autofuse=true(未开启 experimental_enable_jit_executor_v2)时,确认图走传统编译路径而非 JIT 整图执行;同时开启两者时确认仍走切片调度 JIT 路径,内存基址类接口(SetGraphConstMemoryBase 等)返回 UNSUPPORTED 且日志文案为 "does not support the slice scheduler currently"。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 建议标题使用 revert: 回退整图JIT执行特性(本次为回退提交,未采用 git revert 自动生成信息,而是手动反向修改,改动净效果为 −219/+183 行)。 - 涉及代码路径较多(API 层、JIT 执行器、切图调度、测试),建议合入前完整跑一遍 tests/ge/ut 与 autofuse ST 用例。 See merge request: cann/ge!4524 | 24 天前 | |
【Revert】【PR】: Revert jit调度和切图解耦,开启自动融合便走jit执行,SliceSchedule只控制是否切图 Co-authored-by: chengyutao3<chengyutao3@huawei.com> # message auto-generated for no-merge-commit merge: !4524 merge develop into develop 【Revert】【PR】: Revert jit调度和切图解耦,开启自动融合便走jit执行,SliceSchedule只控制是否切图 Created-by: chengyutao3 Commit-by: chengyutao3 Merged-by: cann-robot Description: # Pull Request ## 描述 回退"整图 JIT"特性(对应提交 c165ea09a:jit 调度与切图解耦、开启自动融合即走 JIT 执行),恢复原有行为:**仅当同时开启自动融合(autofuse)与切片调度(slice schedule)时才走 JIT 执行路径**,否则图回退到传统编译/加载路径。 主要变更: 1. 恢复 UserGraphsManager::ShouldUseSliceSchedule() 及 slice_schedule_unsupported_set_ 黑名单机制,AddGraph/BuildGraph/RunGraphAsync/CompileGraph/LoadGraph/RemoveGraph 等分发入口的判断由 EnableAutoFuse() 改回 ShouldUseSliceSchedule(),不支持切图调度的图回退传统模式。 2. 移除 UserGraph::slice_supported 字段及 ExecutionOrder::AddNewSlice() 中的整图模式分支(sliced_graph = graph; remaining_graph = nullptr),切图逻辑恢复为"节点全部可推断则整图不切、否则二分切图"。 3. SetGraphConstMemoryBase、UpdateGraphFeatureMemoryBase、SetGraphFixedFeatureMemoryBaseWithType、UpdateGraphRefreshableFeatureMemoryBase 四个内存类接口的守卫由 EnableAutoFuse() 改回 EnableSliceSchedule(),报错文案由 "JIT executor" 恢复为 "slice scheduler"。 4. 删除 option_utils.{h,cc} 中新增的 EnableAutoFuse() 开关。 5. 测试适配:autofuse_canfuse_test.cc 由 CompileGraph + GetJitCompiledGraph()(取 JIT 编译副本断言)恢复为 BuildGraph + 原图断言;execution_order_unittest、jit_executor_unittest、user_graph_manager_unittest、ge_api_v2_unittest 等同步回退;share_graph.cc 中 BuildStaticTwoReduceNodeGraph 的 shape 由 {2,2,16} 恢复为 {2,2,2}。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动)—— 回退已合入的"整图 JIT"特性 - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 编译并运行 JIT 执行相关单测:tests/ge/ut/ge/jit_execution/ 下的 execution_order_unittest、jit_executor_unittest、user_graph_manager_unittest,以及 tests/ge/ut/ge/session_v2/ge_api_v2_unittest.cc 中的 SliceSchedule_UnsupportedPaths 用例,确认全部通过。 2. 编译并运行 autofuse 场景测试 tests/ge/st/testcase/autofuse/autofuse_canfuse_test.cc(BuildGraph 流程),确认融合结果断言通过。 3. 功能验证:仅设置 --enable_autofuse=true(未开启 experimental_enable_jit_executor_v2)时,确认图走传统编译路径而非 JIT 整图执行;同时开启两者时确认仍走切片调度 JIT 路径,内存基址类接口(SetGraphConstMemoryBase 等)返回 UNSUPPORTED 且日志文案为 "does not support the slice scheduler currently"。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 建议标题使用 revert: 回退整图JIT执行特性(本次为回退提交,未采用 git revert 自动生成信息,而是手动反向修改,改动净效果为 −219/+183 行)。 - 涉及代码路径较多(API 层、JIT 执行器、切图调度、测试),建议合入前完整跑一遍 tests/ge/ut 与 autofuse ST 用例。 See merge request: cann/ge!4524 | 24 天前 | |
【Revert】【PR】: Revert jit调度和切图解耦,开启自动融合便走jit执行,SliceSchedule只控制是否切图 Co-authored-by: chengyutao3<chengyutao3@huawei.com> # message auto-generated for no-merge-commit merge: !4524 merge develop into develop 【Revert】【PR】: Revert jit调度和切图解耦,开启自动融合便走jit执行,SliceSchedule只控制是否切图 Created-by: chengyutao3 Commit-by: chengyutao3 Merged-by: cann-robot Description: # Pull Request ## 描述 回退"整图 JIT"特性(对应提交 c165ea09a:jit 调度与切图解耦、开启自动融合即走 JIT 执行),恢复原有行为:**仅当同时开启自动融合(autofuse)与切片调度(slice schedule)时才走 JIT 执行路径**,否则图回退到传统编译/加载路径。 主要变更: 1. 恢复 UserGraphsManager::ShouldUseSliceSchedule() 及 slice_schedule_unsupported_set_ 黑名单机制,AddGraph/BuildGraph/RunGraphAsync/CompileGraph/LoadGraph/RemoveGraph 等分发入口的判断由 EnableAutoFuse() 改回 ShouldUseSliceSchedule(),不支持切图调度的图回退传统模式。 2. 移除 UserGraph::slice_supported 字段及 ExecutionOrder::AddNewSlice() 中的整图模式分支(sliced_graph = graph; remaining_graph = nullptr),切图逻辑恢复为"节点全部可推断则整图不切、否则二分切图"。 3. SetGraphConstMemoryBase、UpdateGraphFeatureMemoryBase、SetGraphFixedFeatureMemoryBaseWithType、UpdateGraphRefreshableFeatureMemoryBase 四个内存类接口的守卫由 EnableAutoFuse() 改回 EnableSliceSchedule(),报错文案由 "JIT executor" 恢复为 "slice scheduler"。 4. 删除 option_utils.{h,cc} 中新增的 EnableAutoFuse() 开关。 5. 测试适配:autofuse_canfuse_test.cc 由 CompileGraph + GetJitCompiledGraph()(取 JIT 编译副本断言)恢复为 BuildGraph + 原图断言;execution_order_unittest、jit_executor_unittest、user_graph_manager_unittest、ge_api_v2_unittest 等同步回退;share_graph.cc 中 BuildStaticTwoReduceNodeGraph 的 shape 由 {2,2,16} 恢复为 {2,2,2}。 ## 变更类型 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动)—— 回退已合入的"整图 JIT"特性 - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 编译并运行 JIT 执行相关单测:tests/ge/ut/ge/jit_execution/ 下的 execution_order_unittest、jit_executor_unittest、user_graph_manager_unittest,以及 tests/ge/ut/ge/session_v2/ge_api_v2_unittest.cc 中的 SliceSchedule_UnsupportedPaths 用例,确认全部通过。 2. 编译并运行 autofuse 场景测试 tests/ge/st/testcase/autofuse/autofuse_canfuse_test.cc(BuildGraph 流程),确认融合结果断言通过。 3. 功能验证:仅设置 --enable_autofuse=true(未开启 experimental_enable_jit_executor_v2)时,确认图走传统编译路径而非 JIT 整图执行;同时开启两者时确认仍走切片调度 JIT 路径,内存基址类接口(SetGraphConstMemoryBase 等)返回 UNSUPPORTED 且日志文案为 "does not support the slice scheduler currently"。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 建议标题使用 revert: 回退整图JIT执行特性(本次为回退提交,未采用 git revert 自动生成信息,而是手动反向修改,改动净效果为 −219/+183 行)。 - 涉及代码路径较多(API 层、JIT 执行器、切图调度、测试),建议合入前完整跑一遍 tests/ge/ut 与 autofuse ST 用例。 See merge request: cann/ge!4524 | 24 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 24 天前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 30 天前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 24 天前 | ||
| 24 天前 | ||
| 24 天前 |