| Files | Last commit | Last update |
|---|---|---|
fix: 清理clean code告警 Co-authored-by: likun104<likun104@h-partners.com> # message auto-generated for no-merge-commit merge: !5354 merge br_fix_clean_code_1010 into develop fix: 清理clean code告警 Created-by: likun104 Commit-by: likun104 Merged-by: cann-robot Description: # Pull Request ## 描述 清理clean code告警 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 流水线跑通过,且rdv跑通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!5354 | 26 days ago | |
fix:improve log usability-0910 Co-authored-by: m0_50621083<hongyuecheng@huawei.com> # message auto-generated for no-merge-commit merge: !4876 merge CANN-log-evaluation-develop-0910 into develop fix:improve log usability-0910 Created-by: m0_50621083 Commit-by: m0_50621083 Merged-by: cann-robot Description: # Pull Request ## 描述 本次提交基于 CANN 日志易用性评测工具的扫描结果,对 GE 仓库中的日志问题进行整改,主要包括: - 修正日志中的英文拼写和语法错误 - 补充不完整的错误描述 - 优化部分日志表达,使错误原因和处理建议更加明确 - 修正不规范的日志输出内容 - 为涉及容量、内存等数值的日志补充单位 本次仅修改日志文案及相关输出表达,不改变业务逻辑、控制流程、算法和接口行为。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 运行项目 pre-commit 检查,确认格式、拼写和合规检查通过。 2. 运行 PR 编译及 UT/ST 流水线,确认相关门禁通过。 3. 检查代码差异,确认仅修改日志文案,不涉及业务逻辑、控制流和算法。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次整改仅修改日志文案与日志输出接口,不改变任何业务逻辑、控制流、算法。 See merge request: cann/ge!4876 | 1 month ago | |
fix:improve log usability-0910 Co-authored-by: m0_50621083<hongyuecheng@huawei.com> # message auto-generated for no-merge-commit merge: !4876 merge CANN-log-evaluation-develop-0910 into develop fix:improve log usability-0910 Created-by: m0_50621083 Commit-by: m0_50621083 Merged-by: cann-robot Description: # Pull Request ## 描述 本次提交基于 CANN 日志易用性评测工具的扫描结果,对 GE 仓库中的日志问题进行整改,主要包括: - 修正日志中的英文拼写和语法错误 - 补充不完整的错误描述 - 优化部分日志表达,使错误原因和处理建议更加明确 - 修正不规范的日志输出内容 - 为涉及容量、内存等数值的日志补充单位 本次仅修改日志文案及相关输出表达,不改变业务逻辑、控制流程、算法和接口行为。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无。 <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 运行项目 pre-commit 检查,确认格式、拼写和合规检查通过。 2. 运行 PR 编译及 UT/ST 流水线,确认相关门禁通过。 3. 检查代码差异,确认仅修改日志文案,不涉及业务逻辑、控制流和算法。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次整改仅修改日志文案与日志输出接口,不改变任何业务逻辑、控制流、算法。 See merge request: cann/ge!4876 | 1 month ago | |
fix: SubgraphRewriter带ctx重载自动上报ReportMatch修复match/effect统计不对齐 Co-authored-by: DazhouCao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !5266 merge fix/fusion-sample-report-match into develop fix: SubgraphRewriter带ctx重载自动上报ReportMatch修复match/effect统计不对齐 Created-by: Dazhou_Cao Commit-by: DazhouCao;qq_45842700 Merged-by: cann-robot Description: # Pull Request ## 描述 复现 examples/fusion_pass/graph_base_pass/2_move_relu_before_concat_pass 样例时,fusion_result.json 中 match_times=0 而 effect_times=1,不符合 match_time(结构匹配全集)≥ effect_time(融合生效子集)的规律。进一步排查确认:**所有走带 ctx 的 SubgraphRewriter::Replace 路径的代码均存在 match_time 偏小问题**(包括 python SubgraphRewriter.replace(b, g, context=))。 **根因分析**: 1. 带 ctx 的 SubgraphRewriter::Replace 内部会自动调用 ReportFuse 累加 effect_time,但 match_time 的累加完全依赖调用方显式调用 GraphFuseInspectorUtils::ReportMatch(match_time 偏小的直接原因); 2. python binding 未暴露 report_match 接口,python 侧即使想手动上报也无接口可用; 3. PatternFusionPass/DecomposePass 走不带 ctx 的 2 参重载且统计自管理,不受影响。 **修复内容**: 1. **框架自动上报**:带 ctx 的 SubgraphRewriter::Replace 重载内部在 CanFuse 之前自动调用 ReportMatch(无论融合条件是否通过均计入 match_time,与 ReportMatch 接口语义对齐),彻底保证 match_time >= effect_time;上报失败仅告警不阻断替换流程; 2. **python 能力补齐**:binding 补齐 report_match 绑定及导出链路(_native.py/fuse_inspector.py/__init__.py/_ge_pass_native.pyi),供手动改图(不走 SubgraphRewriter)场景使用; 3. **样例对齐**:样例 2 回退手动上报(避免与框架自动上报双计),改为注释说明带 ctx 重载的自动上报行为; 4. **文档同步**:ReportMatch.md 约束说明、SubgraphRewriter/Replace.md 参数说明、compiler.md 机制描述均已更新,明确"带 ctx 重载自动上报,调用方不应重复手动调用"。 ## 变更类型 - [x] 🐛 Bug 修复 ## 关联的Issue 无 ## 如何测试 1. 单元测试:UtestMatchReplacer.ReplaceWithCtxReportsMatchAndEffectTimes(替换成功后 match=1/effect=1)、UtestMatchReplacer.ReplaceWithCtxReportsMatchWhenCanFuseFailed(CanFuse 失败时 match=1/effect=0) 2. 样例验证:编译安装样例 so → python es_gen_air.py 导出 air → atc --model=./graph.air --framework=1 --soc_version=xxx(或 torch_forward.py 在线推理)→ 查看 fusion_result.json,确认样例 pass 的 match_times=1、effect_times=1 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 本机验证情况:graph_rewriter.cc、graph_fuse_inspector_binding.cc、graph_rewriter_unittest.cc 均通过单文件编译验证(-Wall -Wextra -Werror);python 文件通过 py_compile 语法验证 - 本机无 NPU 环境,上板功能验证待 CI 或有环境时补充(预期 fusion_result.json 中 match_times=1, effect_times=1) See merge request: cann/ge!5266 | 30 days ago | |
fix: 打通计算型shape链值符号传播 Co-authored-by: xiebangrui<xiebangrui@huawei.com> # message auto-generated for no-merge-commit merge: !5057 merge master into develop fix: 打通计算型shape链值符号传播 Created-by: xiebangrui2025 Commit-by: xiebangrui Merged-by: cann-robot Description: ## 描述 打通计算型 shape 链的值符号传播,统一值依赖判断;并在合入过程中收敛值符号化的取值分支与准入,补齐头文件解耦后的 IWYU 依赖。 一、值依赖判断与前向触发 - 声明制仅识别直接消费者的值依赖声明, data->add->reshape.shape 等隔跳 shape 计算链无法点亮源头符号化,Reshape 拿不到 SymbolicValue 回退传统推导;IsValueDependentDataNode 新增前向触发:消费者注册值符号计算 kernel 且 data 满足准入(整型/静态 shape/元素数<=200)时点亮源头。 - kMaxSymbolizeValueElemNum 提升为公共常量,size 上限从符号化内部前移到触发处,控制 D2H 与 host 输入契约开销。 - 值依赖判断统一收口为纯谓词 IsInputValueDependent:点亮/推导取值/切图可供给三方共用唯一判断;ir map 为空或 instance->ir 映射失败时注册表机制不参与判定且不打挂,避免误杀整个符号推导。 二、JIT 快速路径与输入准备 - TryExecuteWithoutProcess 增加 FastPathInputsOnHost 校验,值依赖/cond 输入要求位于 host,device 输入回退完整路径由 BuildCompileInputs 统一 D2H;删除 guard_cache 重复扫描与 RunWithCallback 冗余 host 打标。 - BuildCompileInputs 拆出 PrepareGraphInputs 唯一收口 D2H 与 host 标记;判空由返回 SUCCESS/true 改为 GE_ASSERT_NOTNULL/返回 false。 三、值符号化取值重构 - SymbolizeInputValue 拆分为 SymbolizeValueFromData/SymbolizeValueFromHint,入参收敛为 ValueSymbolizeContext,仅保留“真实数据优先、hint 兜底”的选源逻辑。 - 两分支统一以 shape 元素数为符号数上界,超过则跳过,避免 guard 越界读 data[elem_idx];dtype 准入收敛为 IsSupportedSymbolizeValueDtype。 - dtype 分发 switch 收敛为 DispatchBySymbolizeValueDtype,SUM 的判定与建符号收口为 SymbolizeInputValueSum。 四、头文件解耦与 IWYU - symbolic_tensor.h/symbolic_shape.h 去掉对内部 ge_util.h 的传递包含,改用 std::unique_ptr + new(std::nothrow);symbol_compute_context.h 以显式判空替代 GE_ASSERT_NOTNULL 并精简冗余日志。 - 为直接使用 ComGraphMakeUnique/ComGraphMakeShared 的调用方补齐显式 include;fusion_strategy_solver.h 补 <cmath>/common/checker.h、symbolic_kernel_factory.cc 补 common/checker.h。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue ## 如何测试 1. 编译并运行符号化相关 UT/ST。 2. 新增 UT:计算型 shape 链(add)、op_infer_depends 声明路径;配套 UT/ST test_unpack 用例改为守护降级契约(ir map 空时 Infer 成功且输出不写入符号 attr)。 3. 对受影响 include 闭包内的 TU 做语法编译验证;ST slow_test_limit 调整为 4000。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 仅包含“打通计算型shape链值符号传播”单个 commit(含值符号化取值重构、JIT 输入准备判空加固与头文件解耦后的 IWYU 修复);符号化 kernel 健壮性修复与 DeleteNodesWithoutParentNode 级联删除修复已拆分为独立 PR。 See merge request: cann/ge!5057 | 1 month ago | |
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 | 4 months ago |