| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: 多batch数据零拷贝判断用is_build_graph_offline替代is_feature_map_refreshable Co-authored-by: tangqunzhang<tangqunzhang@huawei.com> # message auto-generated for no-merge-commit merge: !4094 merge fix/multi-batch-zero-copy-offline into develop fix: 多batch数据零拷贝判断用is_build_graph_offline替代is_feature_map_refreshable Created-by: tangqunzhang Commit-by: tangqunzhang Merged-by: cann-robot Description: ## 描述 修复 BlockMemAssigner::IsZeroCopyBlock 中多 batch 数据节点零拷贝判断逻辑。 修改后增加 !is_build_graph_offline 条件,仅在线编译模式下才跳过零拷贝,离线编译模式下多 batch 数据节点保持零拷贝。 ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue 无 ## 如何测试 1. 离线编译模式(ge.buildGraphMode=offline)下,多 batch 数据节点参与零拷贝 2. 在线模式下,多 batch 数据节点不做零拷贝(保持原有行为) ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我在标题中使用了合适的类型标签(如:fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 变更文件:compiler/graph/build/memory/block_mem_assigner.cc,仅修改 IsZeroCopyBlock 函数中一处条件判断。 See merge request: cann/ge!4094 | 2 天前 | |
【PR】: 内部头文件重名整改 -- 同名不同内容 Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !3497 merge ge_header_internal_2 into develop 【PR】: 内部头文件重名整改 -- 同名不同内容 Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 | 原文件路径 | 原名 | 修改后名称 | |-----------|------|-----------| | base/common/helper/mobile/ | model.h | mobile_model.h | | base/common/math/ | math_util.h | ge_math_util.h | | compiler/engines/cpu_engine/common/util/ | log.h | aicpu_log.h | | compiler/engines/cpu_engine/inc/ | graph_pass.h | cpu_engine_graph_pass.h | | compiler/engines/cpu_engine/inc/ | pass.h | cpu_engine_pass.h | | compiler/engines/cpu_engine/tf_engine/tf_optimizer/ | tensorflow_util.h | tf_optimizer_tensorflow_util.h | | compiler/engines/hccl_engine/hcom_graph_adaptor/ge_plugin/calculation_tool/ | model.h | hcom_model.h | | compiler/engines/hccl_engine/hcom_graph_adaptor/ge_plugin/ | plugin_manager.h | hcom_plugin_manager.h | | compiler/engines/local_engine/ops_kernel_store/op/ | op.h | ge_local_op.h | | compiler/engines/local_engine/ops_kernel_store/op/ | op_factory.h | ge_local_op_factory.h | | compiler/engines/manager/engine/ | engine_manager.h | dnn_engine_manager.h | | compiler/engines/manager/opskernel_manager/ | ops_kernel_manager.h | dnn_ops_kernel_manager.h | | compiler/engines/nn_engine/inc/common/ | math_util.h | nn_engine_math_util.h | | compiler/engines/nn_engine/optimizer/ops_kernel_builder/task_builder/ | dsa_task_builder.h | ops_kernel_dsa_task_builder.h | | compiler/engines/nn_engine/utils/common/ | plugin_manager.h | nn_engine_plugin_manager.h | | compiler/engines/rts_engine/common/util/ | log.h | rts_log.h | | compiler/graph/build/stream/ | stream_allocator.h | graph_stream_allocator.h | | compiler/graph/common/compress/inc/ | log.h | compress_log.h | | compiler/graph/eager_style_graph_builder/es_generator/ | utils.h | es_generator_utils.h | | compiler/graph/passes/ | pass.h | compiler_pass.h | | compiler/opcompiler/op_compile_adapter/source/compile/ | fusion_manager.h | opcompiler_fusion_manager.h | | dflow/llm_datadist/v1/common/ | cache_manager.h | llm_datadist_cache_manager.h | | dflow/llm_datadist/v1/common/ | llm_common.h | llm_datadist_common.h | | dflow/llm_datadist/v1/common/ | mem_utils.h | llm_datadist_mem_utils.h | | dflow/pydflow/wrapper/ | utils.h | pydflow_utils.h | | dflow/udf/execute/ | memory_statistic_manager.h | udf_memory_statistic_manager.h | | dflow/udf/flow_func/ | flow_model.h | udf_flow_model.h | | inc/framework/common/ | op_types.h | framework_op_types.h | | inc/graph_metadef/common/ge_common/debug/ | log.h | ge_common_log.h | | inc/graph_metadef/graph/utils/ | mem_utils.h | graph_mem_utils.h | | inc/graph_metadef/register/graph_optimizer/graph_fusion/ | connection_matrix.h | fusion_connection_matrix.h | | inc/graph_metadef/register/graph_optimizer/graph_fusion/ | graph_pass.h | graph_fusion_graph_pass.h | | inc/graph_metadef/register/graph_optimizer/graph_fusion/ | pass.h | graph_fusion_pass.h | | parser/parser/common/ | graph_pass.h | parser_graph_pass.h | | parser/parser/common/ | pass.h | parser_pass.h | | runtime/v1/graph/load/model_manager/task_info/ffts_plus/ | ffts_plus_proto_transfer.h | v1_ffts_plus_proto_transfer.h | | runtime/v1/graph/manager/ | host_mem_allocator.h | v1_host_mem_allocator.h | | runtime/v1/hybrid/model/infer/ | shape_utils.h | hybrid_shape_utils.h | | runtime/v2/core/utils/ | executor_utils.h | rt2_executor_utils.h | | runtime/v2/core/utils/ | tensor_utils.h | rt2_tensor_utils.h | | runtime/v2/utils/ | utils.h | rt2_utils.h | ## 变更类型 请选择本次引入的变更类型: <!-- [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!3497 | 14 天前 | |
【PR】: ge_error_codes.h重命名后修改ge仓引用 Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !4039 merge ge_errorcode into develop 【PR】: ge_error_codes.h重命名后修改ge仓引用 Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 ge_error_codes.h重命名后修改ge仓引用。 ## 变更类型 请选择本次引入的变更类型: <!-- [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!4039 | 3 天前 | |
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 | 10 天前 | |
【PR】: 内部头文件重名整改 -- 同名不同内容 Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !3497 merge ge_header_internal_2 into develop 【PR】: 内部头文件重名整改 -- 同名不同内容 Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 | 原文件路径 | 原名 | 修改后名称 | |-----------|------|-----------| | base/common/helper/mobile/ | model.h | mobile_model.h | | base/common/math/ | math_util.h | ge_math_util.h | | compiler/engines/cpu_engine/common/util/ | log.h | aicpu_log.h | | compiler/engines/cpu_engine/inc/ | graph_pass.h | cpu_engine_graph_pass.h | | compiler/engines/cpu_engine/inc/ | pass.h | cpu_engine_pass.h | | compiler/engines/cpu_engine/tf_engine/tf_optimizer/ | tensorflow_util.h | tf_optimizer_tensorflow_util.h | | compiler/engines/hccl_engine/hcom_graph_adaptor/ge_plugin/calculation_tool/ | model.h | hcom_model.h | | compiler/engines/hccl_engine/hcom_graph_adaptor/ge_plugin/ | plugin_manager.h | hcom_plugin_manager.h | | compiler/engines/local_engine/ops_kernel_store/op/ | op.h | ge_local_op.h | | compiler/engines/local_engine/ops_kernel_store/op/ | op_factory.h | ge_local_op_factory.h | | compiler/engines/manager/engine/ | engine_manager.h | dnn_engine_manager.h | | compiler/engines/manager/opskernel_manager/ | ops_kernel_manager.h | dnn_ops_kernel_manager.h | | compiler/engines/nn_engine/inc/common/ | math_util.h | nn_engine_math_util.h | | compiler/engines/nn_engine/optimizer/ops_kernel_builder/task_builder/ | dsa_task_builder.h | ops_kernel_dsa_task_builder.h | | compiler/engines/nn_engine/utils/common/ | plugin_manager.h | nn_engine_plugin_manager.h | | compiler/engines/rts_engine/common/util/ | log.h | rts_log.h | | compiler/graph/build/stream/ | stream_allocator.h | graph_stream_allocator.h | | compiler/graph/common/compress/inc/ | log.h | compress_log.h | | compiler/graph/eager_style_graph_builder/es_generator/ | utils.h | es_generator_utils.h | | compiler/graph/passes/ | pass.h | compiler_pass.h | | compiler/opcompiler/op_compile_adapter/source/compile/ | fusion_manager.h | opcompiler_fusion_manager.h | | dflow/llm_datadist/v1/common/ | cache_manager.h | llm_datadist_cache_manager.h | | dflow/llm_datadist/v1/common/ | llm_common.h | llm_datadist_common.h | | dflow/llm_datadist/v1/common/ | mem_utils.h | llm_datadist_mem_utils.h | | dflow/pydflow/wrapper/ | utils.h | pydflow_utils.h | | dflow/udf/execute/ | memory_statistic_manager.h | udf_memory_statistic_manager.h | | dflow/udf/flow_func/ | flow_model.h | udf_flow_model.h | | inc/framework/common/ | op_types.h | framework_op_types.h | | inc/graph_metadef/common/ge_common/debug/ | log.h | ge_common_log.h | | inc/graph_metadef/graph/utils/ | mem_utils.h | graph_mem_utils.h | | inc/graph_metadef/register/graph_optimizer/graph_fusion/ | connection_matrix.h | fusion_connection_matrix.h | | inc/graph_metadef/register/graph_optimizer/graph_fusion/ | graph_pass.h | graph_fusion_graph_pass.h | | inc/graph_metadef/register/graph_optimizer/graph_fusion/ | pass.h | graph_fusion_pass.h | | parser/parser/common/ | graph_pass.h | parser_graph_pass.h | | parser/parser/common/ | pass.h | parser_pass.h | | runtime/v1/graph/load/model_manager/task_info/ffts_plus/ | ffts_plus_proto_transfer.h | v1_ffts_plus_proto_transfer.h | | runtime/v1/graph/manager/ | host_mem_allocator.h | v1_host_mem_allocator.h | | runtime/v1/hybrid/model/infer/ | shape_utils.h | hybrid_shape_utils.h | | runtime/v2/core/utils/ | executor_utils.h | rt2_executor_utils.h | | runtime/v2/core/utils/ | tensor_utils.h | rt2_tensor_utils.h | | runtime/v2/utils/ | utils.h | rt2_utils.h | ## 变更类型 请选择本次引入的变更类型: <!-- [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!3497 | 14 天前 | |
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 | 27 天前 | |
feat(om2): 支持在线场景模型编译与执行 Co-authored-by: wuzheng-hw<wuzheng14@huawei.com> # message auto-generated for no-merge-commit merge: !3852 merge om2_online_interface into develop feat(om2): 支持在线场景模型编译与执行 Created-by: wuzheng-hw Commit-by: wuzheng-hw Merged-by: cann-robot Description: # Pull Request ## 描述 支持 OM2 在线场景模型编译与执行链路,补充 OM2 模型数据结构、模型打包辅助能力、运行时模型管理与执行器适配,并增加对应 UT/ST 覆盖。 主要变更: - 新增 gert::Om2ModelData,用于承载 OM2 在线编译产物的内存态模型数据。 - 调整 OM2 包构建流程,将模型数据构建与 Zip 序列化拆分,便于在线场景复用。 - 接入 GraphManager、ModelExecutor、Om2ModelManager 的 OM2 在线加载、运行和卸载链路。 - 对 OM2 在线模式暂不支持的 session/graph 接口增加显式 unsupported 返回路径。 - 补充 OM2 model data、package helper、model manager、model executor、session/graph manager 相关 UT/ST。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 - 已补充/更新 OM2 在线场景 ST:tests/ge/st/testcase/test_om2_online.cc - 已补充/更新 OM2 model data、package helper、model manager、model executor、session、graph manager 相关 UT - 本次信息更新前未重新运行本地 UT/ST ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测(本次信息更新前未重新运行本地 UT/ST) - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md) ## 其他信息 本次变更基于本地分支 om2_online_interface 的提交 dd185c17dd43ab22fbbdfe2ba3151412238543e0。 See merge request: cann/ge!3852 | 8 天前 | |
fix: skip large concat dump details Co-authored-by: ling-DT<lingxing@huawei.com> # message auto-generated for no-merge-commit merge: !4080 merge fix/skip-large-concat-dump-detail into develop fix: skip large concat dump details Created-by: ling-DT Commit-by: ling-DT Merged-by: cann-robot Description: # Pull Request ## 描述 优化 AutoFuse 在 DEBUG 日志级别下的大型 concat 融合图 dump 行为:当 concat 融合图节点数超过配置的最大融合节点数时,仅打印一条跳过详细 dump 的 DEBUG 日志,避免 1000 Relu + Concat 场景产生超长 AscGraph 明细日志。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 ## 如何测试 描述测试此变更的步骤和前提条件: 1. cmake --build /workspace/lingxing/Code/ge_0718/cmake-build-gcov --target aihac_autofusion -j 8 2. python3 -m pre_commit run --files compiler/graph/optimize/autofuse/autofuse/can_fuse/backend/backend_utils.cpp 3. ASCEND_GLOBAL_LOG_LEVEL=0 bash xfusion_fmk.sh tc_ge_tf_control_edge_optimization_0007,1000 Relu debug 场景通过,耗时约 190.382 sec ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档(本次不涉及文档变更) - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 源分支:ling-DT/ge_0718:fix/skip-large-concat-dump-detail - 目标分支:cann/ge:develop - 本地 pre-commit:全部通过 See merge request: cann/ge!4080 | 3 天前 | |
【fix】: 修复hostcpu_engine_update_pass日志std::string未调用c_str导致乱码 Co-authored-by: wangyuchen<wangyuchen38@huawei.com> # message auto-generated for no-merge-commit merge: !4084 merge fix/log_missing_cstr into develop 【fix】: 修复hostcpu_engine_update_pass日志std::string未调用c_str导致乱码 Created-by: yuchen97 Commit-by: wangyuchen Merged-by: cann-robot Description: # Pull Request ## 描述 修复 hostcpu_engine_update_pass.cc 第283行附近的日志打印问题。kHostCpuOpKernelLibName 和 kHostCpuEngineName 为 std::string 类型常量,在 GELOGI 中直接传递给 %s 格式符,未调用 .c_str(),属于未定义行为,会导致日志输出乱码。 ## 变更类型 请选择本次引入的变更类型: - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 触发 hostcpu engine 更新流程,使 IsSupportHostcpu && IsExecOnDevice 分支命中 2. 检查日志输出,确认 Set OpKernelLibName ... and OpEngineName ... to ... 不再乱码 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 文件中其他日志调用均已正确使用 .c_str(),仅此一处遗漏。 See merge request: cann/ge!4084 | 3 天前 | |
fix: delete RefIdentity without validation in RefIdentityDeleteOpPass Co-authored-by: wangyuchen<wangyuchen38@huawei.com> # message auto-generated for no-merge-commit merge: !4024 merge fix/variable_del_pass into develop fix: delete RefIdentity without validation in RefIdentityDeleteOpPass Created-by: yuchen97 Commit-by: wangyuchen Merged-by: cann-robot Description: ## 描述 ### 背景:RefIdentity 的功能 RefIdentity 是 VariablePrepareOpPass 插入的编译期临时占位节点。当 Variable 的下游是 **没有 ref 输出的 RefOp**(如 RefSwitch)时,VariableRef 节点没有自然的挂载点。此时插入 RefIdentity 作为 identity 桥梁,扇出一个分支给 VariableRef: Variable → RefIdentity → RefOp └→ VariableRef RefIdentity 本身没有计算语义,纯粹是为了让 VariableRef 在图结构上合法存在。在变量优化完成后,由 RefIdentityDeleteOpPass 旁路删除。 ### 问题 RefIdentityDeleteOpPass 在删除前调用 GetRefNode 校验 RefIdentity 的下游是否为 RefOp。在精度模式(force_fp16 / allow_mix_precision_fp16)下,FE 会在 RefIdentity 和 RefOp 之间插入 Cast/TransData 等转换算子: Variable → RefIdentity → Cast → RefOp └→ VariableRef GetRefNode 只检查直连 peer,无法穿透 Cast,导致校验失败返回 nullptr,Pass 返回 FAILED,**编译中断**。 ### 解决方案 删除 GetRefNode 前置校验逻辑,直接对 RefIdentity 执行 IsolateNode 旁路删除。理由: 1. IsolateNode 会将 RefIdentity 的输入(Variable)直连到所有输出对端(VariableRef / Cast / RefOp),保留原有数据流和控制边 2. RefIdentity 是 GE 内部算子,仅由 VariablePrepareOpPass 插入,不存在误删风险 3. GetRefNode 的返回值仅用于决定是否删除,DealNoOutputRef 本身不依赖该结果 ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue ## 如何测试 1. 编译 UT:ref_identity_delete_op_pass_unittest 2. 运行三个测试用例: - RefIdentityDeleteOpPass_Ok_DirectConnectRefOp:RefIdentity 直连 RefOp 场景 - RefIdentityDeleteOpPass_Ok_NoRefIdentity:图中无 RefIdentity 场景 - RefIdentityDeleteOpPass_Ok_TransOpBetweenRefOp:精度模式下 RefIdentity 和 RefOp 之间有 Cast 的场景 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如 feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 本修改仅影响 RefIdentityDeleteOpPass,不涉及 VariableRefDeleteOpPass 和 VariablePrepareOpPass。在精度模式场景下,删除 RefIdentity 后 VariableRef 的 peer 变为 Variable,VariableRefDeleteOpPass 走自引用跳过分支,行为与无 Cast 场景一致。 See merge request: cann/ge!4024 | 7 天前 | |
【PR】: 内部头文件重名整改 -- 同名不同内容 Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !3497 merge ge_header_internal_2 into develop 【PR】: 内部头文件重名整改 -- 同名不同内容 Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 | 原文件路径 | 原名 | 修改后名称 | |-----------|------|-----------| | base/common/helper/mobile/ | model.h | mobile_model.h | | base/common/math/ | math_util.h | ge_math_util.h | | compiler/engines/cpu_engine/common/util/ | log.h | aicpu_log.h | | compiler/engines/cpu_engine/inc/ | graph_pass.h | cpu_engine_graph_pass.h | | compiler/engines/cpu_engine/inc/ | pass.h | cpu_engine_pass.h | | compiler/engines/cpu_engine/tf_engine/tf_optimizer/ | tensorflow_util.h | tf_optimizer_tensorflow_util.h | | compiler/engines/hccl_engine/hcom_graph_adaptor/ge_plugin/calculation_tool/ | model.h | hcom_model.h | | compiler/engines/hccl_engine/hcom_graph_adaptor/ge_plugin/ | plugin_manager.h | hcom_plugin_manager.h | | compiler/engines/local_engine/ops_kernel_store/op/ | op.h | ge_local_op.h | | compiler/engines/local_engine/ops_kernel_store/op/ | op_factory.h | ge_local_op_factory.h | | compiler/engines/manager/engine/ | engine_manager.h | dnn_engine_manager.h | | compiler/engines/manager/opskernel_manager/ | ops_kernel_manager.h | dnn_ops_kernel_manager.h | | compiler/engines/nn_engine/inc/common/ | math_util.h | nn_engine_math_util.h | | compiler/engines/nn_engine/optimizer/ops_kernel_builder/task_builder/ | dsa_task_builder.h | ops_kernel_dsa_task_builder.h | | compiler/engines/nn_engine/utils/common/ | plugin_manager.h | nn_engine_plugin_manager.h | | compiler/engines/rts_engine/common/util/ | log.h | rts_log.h | | compiler/graph/build/stream/ | stream_allocator.h | graph_stream_allocator.h | | compiler/graph/common/compress/inc/ | log.h | compress_log.h | | compiler/graph/eager_style_graph_builder/es_generator/ | utils.h | es_generator_utils.h | | compiler/graph/passes/ | pass.h | compiler_pass.h | | compiler/opcompiler/op_compile_adapter/source/compile/ | fusion_manager.h | opcompiler_fusion_manager.h | | dflow/llm_datadist/v1/common/ | cache_manager.h | llm_datadist_cache_manager.h | | dflow/llm_datadist/v1/common/ | llm_common.h | llm_datadist_common.h | | dflow/llm_datadist/v1/common/ | mem_utils.h | llm_datadist_mem_utils.h | | dflow/pydflow/wrapper/ | utils.h | pydflow_utils.h | | dflow/udf/execute/ | memory_statistic_manager.h | udf_memory_statistic_manager.h | | dflow/udf/flow_func/ | flow_model.h | udf_flow_model.h | | inc/framework/common/ | op_types.h | framework_op_types.h | | inc/graph_metadef/common/ge_common/debug/ | log.h | ge_common_log.h | | inc/graph_metadef/graph/utils/ | mem_utils.h | graph_mem_utils.h | | inc/graph_metadef/register/graph_optimizer/graph_fusion/ | connection_matrix.h | fusion_connection_matrix.h | | inc/graph_metadef/register/graph_optimizer/graph_fusion/ | graph_pass.h | graph_fusion_graph_pass.h | | inc/graph_metadef/register/graph_optimizer/graph_fusion/ | pass.h | graph_fusion_pass.h | | parser/parser/common/ | graph_pass.h | parser_graph_pass.h | | parser/parser/common/ | pass.h | parser_pass.h | | runtime/v1/graph/load/model_manager/task_info/ffts_plus/ | ffts_plus_proto_transfer.h | v1_ffts_plus_proto_transfer.h | | runtime/v1/graph/manager/ | host_mem_allocator.h | v1_host_mem_allocator.h | | runtime/v1/hybrid/model/infer/ | shape_utils.h | hybrid_shape_utils.h | | runtime/v2/core/utils/ | executor_utils.h | rt2_executor_utils.h | | runtime/v2/core/utils/ | tensor_utils.h | rt2_tensor_utils.h | | runtime/v2/utils/ | utils.h | rt2_utils.h | ## 变更类型 请选择本次引入的变更类型: <!-- [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!3497 | 14 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 天前 | ||
| 14 天前 | ||
| 3 天前 | ||
| 10 天前 | ||
| 14 天前 | ||
| 27 天前 | ||
| 8 天前 | ||
| 3 天前 | ||
| 3 天前 | ||
| 7 天前 | ||
| 14 天前 |