| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: Autofuse 输出日志和错误提示文案标准化 (#312) Co-authored-by: hamburgerbobo<gaoyubo4@huawei.com> # message auto-generated for no-merge-commit merge: !2098 merge fix/log-output-issue into develop fix: Autofuse 输出日志和错误提示文案标准化 (#312) Created-by: hamburgerbobo Commit-by: hamburgerbobo Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 整改 Autofuse 输出日志和错误提示文案,提升日志可读性、问题定位能力和统一日志管理一致性。 - 修正日志中的拼写、语法和主谓一致问题。 - 补充越限日志的当前值和合法范围。 - 为 VF 性能日志补充 cycle 单位。 - 将生产 Python 编译流程中的自定义 print 接入已有统一日志接口。 - 翻译计划中指定的中文输出文案,并同步通用求解器生产生成器、source mirror 和 UT 期望。 - 更新统一日志接口相关 Python UT。 本 PR 仅包含本次日志整改涉及的源码和必要测试更新,不包含日志分析 CSV、设计文档、.gitignore 或当前分支中的其他历史提交。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/graph-autofusion/issues/312 Fixes #312 合并后关闭已关联的 Issue。 ## 如何测试 1. 使用 CANN 9.2.0 配置 CMake,执行 cmake --build build --target aihac_codegen -j 8。 2. 执行 cmake --build build --target pyautofuse -j 8。 3. 执行编译相关 Python UT,结果为 113 passed。 4. 执行 ATT Analyze 单测和功能测试,结果分别为 38 passed 和 4 passed。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次仅涉及日志文案和统一日志输出接口,不改变图优化、Codegen 算法、运行时数据流或对外 API/ABI。项目文档无需更新。 See merge request: cann/graph-autofusion!2098 | 15 天前 | |
perf: 完善 Autofuse V2 Broadcast 性能建模(#235) Co-authored-by: hamburgerbobo<gaoyubo4@huawei.com> # message auto-generated for no-merge-commit merge: !2074 merge perf/broadcast-v2-warn-divzero into develop perf: 完善 Autofuse V2 Broadcast 性能建模(#235) Created-by: hamburgerbobo Commit-by: hamburgerbobo Merged-by: cann-robot Description: # Pull Request ## 描述 重新提交 PR #1812 的内容(原 PR 被回退),并在此基础上将 Broadcast perf 建模中的除零错误检查从 ERROR 级别(GE_ASSERT_TRUE -> GELOGE)降级为 WARNING 级别(GE_WARN_ASSERT -> GELOGW),避免除零检查失败时输出 ERROR 日志。 原pr链接:https://gitcode.com/cann/graph-autofusion/pull/1812 具体变更: 1. 完整恢复 PR #1812 的 23 个文件(Broadcast V2 性能建模全套实现和测试) 2. 将 3 个 perf 文件中 8 处除零检查从 GE_ASSERT_TRUE 替换为其他告警: - broadcast_perf_utils_v2.cpp:4 处(byte_size / divisor / half_vl 检查) - broadcast_last_axis_perf_v2.cpp:3 处(SafeDiv divisor / E2B last_size / GatherTwo last_size) - broadcast_nlast_axis_perf_v2.cpp:1 处(SafeDiv divisor) ## 变更类型 - [x] ✨ 新功能 ## 关联的Issue #235 ## 如何测试 1. sh build.sh -u --module=autofuse_framework -j 8 2. 运行 Broadcast perf V2 相关 UT ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 替代被回退的 PR #1812,内容一致但除零检查改为 WARNING 级别。 See merge request: cann/graph-autofusion!2074 | 17 天前 | |
【PR】bugfix: reduce算子融合case,1)针对ATT与Codegen校验merge_size问题统一取向量化轴repeats 2)针对codegen生成代码时2个broadcast算子消费同一父节点导致生成代码变量名冲突问题进行兼容解决 Co-authored-by: nikson<nisong1@huawei.com> # message auto-generated for no-merge-commit merge: !2156 merge develop into develop 【PR】bugfix: reduce算子融合case,1)针对ATT与Codegen校验merge_size问题统一取向量化轴repeats 2)针对codegen生成代码时2个broadcast算子消费同一父节点导致生成代码变量名冲突问题进行兼容解决 Created-by: tourse Commit-by: nikson Merged-by: cann-robot Description: # Pull Request ## 描述 【PR】bugfix: reduce算子融合case,1)针对ATT与Codegen校验merge_size问题统一取向量化轴repeats 2)针对codegen生成代码时2个broadcast算子消费同一父节点导致生成代码变量名冲突问题进行兼容解决 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 通过CI平台构建了AF包,上传到环境上进行了验证,明确了此前失败的用例已执行通过; 2. 针对其他此前执行成功的用例再新AF包中进行了验证,修改代码后仍然成功 3. 已通过gitcode平台CI流水线,UT执行通过 4. 针对修改的代码,已拉通相关模块熟悉的责任人明确修改无误且不引入额外问题 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!2156 | 13 天前 | |
feat: 支持vectorfunc动态stride性能公式 Co-authored-by: gcw_V3YyYBt1<gaoxin32@huawei.com> # message auto-generated for no-merge-commit merge: !1208 merge develop into develop feat: 支持vectorfunc动态stride性能公式 Created-by: gcw_V3YyYBt1 Commit-by: gcw_V3YyYBt1 Merged-by: cann-robot Description: # Pull Request ## 描述 支持vectorfunc动态stride性能公式以及尾块计算 ## 问题原因 1. VectorFunc ATT 性能建模缺少结构化参数通路,double loop、stride、output dim 等信息无法通过统一的 AscirNodeParams 传递到 ATT parser 和性能公式,容易依赖散落属性并导致后续扩展困难。 2. VectorFunc double loop 场景下,stride 相等和不相等时的 micro api 次数计算方式不同;原有性能公式只按普通 dim product 计算,无法表达运行时 stride 是否相等带来的动态性能差异。 3. CheckSingleCut 尾块场景获取 tail perf 时直接走普通节点性能入口,VectorFunc 节点没有继续走 VectorFunc 专用性能公式,导致尾块性能计算路径不一致。 4. load store类型node没有计算到性能公式中。 ## 修改方案 1. 新增 ascir_param::VectorFuncNodeParams,将 is_double_loop、all_strides、output_dims 作为 VectorFunc 专用 typed params,并纳入 AnySpecificParams。 2. EnrichAscirNodeParams 对 VectorFunc 预注册 AscirNodeParams,codegen 阶段通过 GetAscirNodeParams 更新已有参数,避免新增独立 ExtAttr 或散落 vf_* 字段。 3. VectorFunc codegen 在 double loop 场景收集实际 stride 表达式和尾部 output dims;生成 strides_equal 判断代码的同时,将 stride 表达式同步写入 VectorFuncNodeParams。 4. ATT parser 从 AscirNodeParams 读取 VectorFuncNodeParams 并写入 NodeInfo,PipePerfExpr 调用 VfPerfUtils::GetVectorFunctionPerf 时传入 typed params 和 ternary_ops。 5. VfPerfUtils 根据 VectorFuncNodeParams 区分非 double loop、stride 确定相等、stride 确定不等和动态 stride 场景;动态场景生成 vf_dynamic_perf TernaryOp,在运行时按 all_strides 是否相等选择性能公式。 6. CheckSingleCut tail perf 改为通过 GetNodePerfInternal(..., tail_shape=true) 进入,使 VectorFunc tail 场景仍走 VectorFunc 专用性能公式,普通节点继续透传 tail_shape 到 GetNodePerf。 7. 补充 AscirNodeParams UT,覆盖 VectorFuncNodeParams 存储和 EnrichGraph 预注册 VectorFunc 参数。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue ## 如何测试 描述测试此变更的步骤和前提条件: 1.测试vectorfunc相关用例,双切分与单切分场景,有尾块与没有尾块场景 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 See merge request: cann/graph-autofusion!1208 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 15 天前 | ||
| 17 天前 | ||
| 13 天前 | ||
| 2 个月前 |