| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【PR】: [feat] [autofuse] add llt to autofuse. Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !372 merge master_llt into master 【PR】: [feat] [autofuse] add llt to autofuse. Created-by: xingzhixiong Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 增加autofuse组件的llt。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 跑ci流水线能全部通过即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!372 | 4 个月前 | |
fix: skip broadcast backward for scalar-like producers with empty views Co-authored-by: Jett_Woo<wujinteng1@huawei.com> # message auto-generated for no-merge-commit merge: !2104 merge fix/brc-backward-scalar-like-producer into develop fix: skip broadcast backward for scalar-like producers with empty views Created-by: Jett_Woo Commit-by: Jett_Woo Merged-by: cann-robot Description: # Pull Request ## 描述 修复 BroadcastBackwardPass 对 scalar-like 生产者的处理缺陷。 浮点改写协议产出的 IndexExpr(int64, 空输出视图) → Broadcast → Cast(f32) 链(测试环境 2026-09-14 plog 首次触发)会使 pass 的 scalar 门控失效: - CollectBackwardStartNodes 的门控只认 kScalarType,IndexExpr/ScalarData(scalar-like,输出视图为空)绕过门控进入后移; - ReorderBroadcasts 先改写图边后,GetBroAxisesIndex 的前后视图轴数断言失败(0 轴 vs N 轴),图停留在**半改写状态**(边已重排、属性/dtype 未同步),且错误被 RunPasses 忽略后继续编译。 修复内容(broadcast_backward_pass.cpp,+22/-2): 1. 新增 IsScalarLikeProducer(Scalar/ScalarData/IndexExpr),与 codegen 侧 IsScalarNodeType 白名单语义对齐;CollectBackwardStartNodes 门控与多消费路径 BackwardMultiRefBroadcast 的 is_pre_scalar 判定统一扩展; 2. ProcessOriginalBackwardLogic 在改写图边前增加前广播视图与广播输出视图的**轴数守卫**,不一致整体跳过(fail-closed),杜绝半改写状态。 配套测试:测试 builder 新增 IndexExpr 构造方法(真实前端空视图形态,不自动补视图);新增 3 个 UT 覆盖 IndexExpr/ScalarData 门控拒绝与视图守卫兜底。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue #302(IndexExpr/Arange Autofusion 与 broadcast backward 合入交叉触发的缺陷,缺陷本体位于 broadcast backward pass) ## 如何测试 1. UT:新增 BroadcastBackwardPass.SkipsIndexExprBroadcastSource / SkipsScalarDataBroadcastSource / SkipsBroadcastWithMismatchedPreViewAxes 三个用例——修复前在未修复代码上验证 RED(RunPass 返回 FAILED,错误链与测试环境 plog 逐行一致),修复后 GREEN; 2. 回归:optimize_ut 全量 759 用例(711 通过 + 48 既有跳过,0 失败);BroadcastBackwardPass 套件 76 用例(基线 33 通过 + 40 既有跳过 → 36 通过 + 40 跳过,仅新增 3 个通过,无既有行为变化); 3. 真机(Ascend950PR,55 组合三配置对照):无 pass 基线 / develop 原版 pass / pass+本修复——修复零回归(44 PASS 集合完全一致),断言崩溃、半改写、E19999 刷屏全部消除。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 真机对照验证表明:IndexExpr/Arange RDV 回归中另有 11 个组合在**原版 pass 下同样失败**(multi_arange 断言崩溃;triu/remainder_cast/degenerate_arange_add_3d 因退化轴视图的语义改写错误导致 codegen 失败)——为本修复之外的 pass 独立适配项,本修复未改变其结果(零回归),后续另行跟进。 See merge request: cann/graph-autofusion!2104 | 1 天前 | |
fix: skip broadcast backward for scalar-like producers with empty views Co-authored-by: Jett_Woo<wujinteng1@huawei.com> # message auto-generated for no-merge-commit merge: !2104 merge fix/brc-backward-scalar-like-producer into develop fix: skip broadcast backward for scalar-like producers with empty views Created-by: Jett_Woo Commit-by: Jett_Woo Merged-by: cann-robot Description: # Pull Request ## 描述 修复 BroadcastBackwardPass 对 scalar-like 生产者的处理缺陷。 浮点改写协议产出的 IndexExpr(int64, 空输出视图) → Broadcast → Cast(f32) 链(测试环境 2026-09-14 plog 首次触发)会使 pass 的 scalar 门控失效: - CollectBackwardStartNodes 的门控只认 kScalarType,IndexExpr/ScalarData(scalar-like,输出视图为空)绕过门控进入后移; - ReorderBroadcasts 先改写图边后,GetBroAxisesIndex 的前后视图轴数断言失败(0 轴 vs N 轴),图停留在**半改写状态**(边已重排、属性/dtype 未同步),且错误被 RunPasses 忽略后继续编译。 修复内容(broadcast_backward_pass.cpp,+22/-2): 1. 新增 IsScalarLikeProducer(Scalar/ScalarData/IndexExpr),与 codegen 侧 IsScalarNodeType 白名单语义对齐;CollectBackwardStartNodes 门控与多消费路径 BackwardMultiRefBroadcast 的 is_pre_scalar 判定统一扩展; 2. ProcessOriginalBackwardLogic 在改写图边前增加前广播视图与广播输出视图的**轴数守卫**,不一致整体跳过(fail-closed),杜绝半改写状态。 配套测试:测试 builder 新增 IndexExpr 构造方法(真实前端空视图形态,不自动补视图);新增 3 个 UT 覆盖 IndexExpr/ScalarData 门控拒绝与视图守卫兜底。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue #302(IndexExpr/Arange Autofusion 与 broadcast backward 合入交叉触发的缺陷,缺陷本体位于 broadcast backward pass) ## 如何测试 1. UT:新增 BroadcastBackwardPass.SkipsIndexExprBroadcastSource / SkipsScalarDataBroadcastSource / SkipsBroadcastWithMismatchedPreViewAxes 三个用例——修复前在未修复代码上验证 RED(RunPass 返回 FAILED,错误链与测试环境 plog 逐行一致),修复后 GREEN; 2. 回归:optimize_ut 全量 759 用例(711 通过 + 48 既有跳过,0 失败);BroadcastBackwardPass 套件 76 用例(基线 33 通过 + 40 既有跳过 → 36 通过 + 40 跳过,仅新增 3 个通过,无既有行为变化); 3. 真机(Ascend950PR,55 组合三配置对照):无 pass 基线 / develop 原版 pass / pass+本修复——修复零回归(44 PASS 集合完全一致),断言崩溃、半改写、E19999 刷屏全部消除。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 真机对照验证表明:IndexExpr/Arange RDV 回归中另有 11 个组合在**原版 pass 下同样失败**(multi_arange 断言崩溃;triu/remainder_cast/degenerate_arange_add_3d 因退化轴视图的语义改写错误导致 codegen 失败)——为本修复之外的 pass 独立适配项,本修复未改变其结果(零回归),后续另行跟进。 See merge request: cann/graph-autofusion!2104 | 1 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 个月前 | ||
| 1 天前 | ||
| 1 天前 |