| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: 恢复 CV Tensor API,裁剪不可达分支并修复静态特化 tiling Co-authored-by: ling-DT<lingxing@huawei.com> # message auto-generated for no-merge-commit merge: !2779 merge feat/cv-tensor-api-pruned-20261103 into develop feat: 恢复 CV Tensor API,裁剪不可达分支并修复静态特化 tiling Created-by: ling-DT Commit-by: ling-DT Merged-by: cann-robot Description: # Pull Request ## 描述 恢复此前回退的 CV Tensor API 支持,并按平台能力和原生 tiling 的实际可达策略裁剪 Basic/Tensor 分支,减少重复模板实例化。避免 Tensor API 切换后仍同时编译不可达的 Basic 分支;兼容仍可返回 Basic key 的平台或特殊策略。 同时修复 TF CV 的静态特化场景:上游 Reshape 将符号 M 特化为 50 并登记 guard 后,普通输入描述仍可能是 [12,-1,64]。静态 tiling 参数使用实际 Cube 输入的特化尺寸,并校验已知维度及 rank,一致后才送入原生 tiling;保留普通动态路径和具体尺寸输入的既有处理。 包含整体 Tensor API 恢复、可达分支裁剪、静态 Common workspace 偏移修正及上述 -1 修复。分支选择使用平台能力,不硬编码芯片型号。沿用既有模板语义名称,不增加命名分类。 ## 变更类型 - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 延续原 CV Tensor API 需求;本 PR 基于最新 develop 恢复原 !2727 的完整业务修改,并补充编译优化和修复。 ## 如何测试 1. 在 Ascend1017 CANN 环境使用本仓源码的 Release 产物,限制最多 8 个编译任务;本轮 Python 3.7/3.12 绑定以 2 个任务完成编译。裁剪/workspace 修改已有 420 项 C++ 测试通过、6 项既有跳过;shape、runtime key 修复及 Conv/动态头文件/替换入口对照共 108 项 Python 测试通过。 2. 完整 TF CV 复现:FP16 A 声明 [12,-1,64],先 Reshape,再与 [12,64,100] 做 BMM、Add bias [12,1,100]、Cast FP32;实际 M=50、66。修改前编译期 ValidateShape 拒绝 -1;修改后两种 M 均编译执行成功,动静态 MM-on/off 精度及 kernel 对照通过。 3. 整个 PR 59 个路径的 pre-commit 通过,显式 OAT 检查 59 个现存文件通过。未修改 docs 或 .gitignore。 4. 泛化回归正在串行执行,包含 MM/BMM、转置、bias、batch broadcast、TF/Inductor 动静态及 VV 对照。两项动态转置曾出现 kernel entry 查找失败,已定位为 host 写入 vector key、device 使用 native key:MM host 现使用完整 native key,Conv 保持原有 key。两项动静态共 4 组均已复测通过;修复专项原问题及泛化共 18 组(每组 MM-on/off)全部通过;补充 MM Fixpipe 1V1/1V2 的 Inductor 动静态共 4 组也全部通过。已恢复原 A5 可达 kernel 覆盖矩阵,尚未将整套矩阵标记完成。T5 端到端编译耗时尚未复测。补充裁剪后 A5 avoid=false 的动态 dispatch 候选 MM=16、BMM=15;切换前为16/12,不能宣称动态候选总量少于切换前。静态通过 if constexpr 避免未选中组合实例化。两种平台能力下共1920组分发及39组静态单实例化编译检查通过,补充修改的176项 C++ UT通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测(已通过与未通过项目分别列于上方) - [x] 我已更新了相关的文档(复现及验证记录位于 DT 工作区,仓内 docs 无需修改) - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 与 GE 的 Tensor API lowering/epilogue 精度修改 [!5760](https://gitcode.com/cann/ge/pull/5760) 配套使用。新分支基于 develop d7daed06,恢复操作及移植均无冲突;本地验证源码的两份修复文件与本 PR 一致。完整目标分支集成验证由 CI 继续检查。 See merge request: cann/graph-autofusion!2779 | 2 天前 | |
feat: support IndexExpr and Arange autofusion Co-authored-by: Jett_Woo<wujinteng1@huawei.com> # message auto-generated for no-merge-commit merge: !1961 merge index-expr-device-validation-pr into develop feat: support IndexExpr and Arange autofusion Created-by: Jett_Woo Commit-by: Jett_Woo Merged-by: cann-robot Description: # Pull Request ## 描述 支持 IndexExpr 和 Arange 自动融合,补充 ASCIR/Python 接口、调度与 codegen 支持,并完善设备验证、UT 和 Backend E2E 用例。Arange 仅保留连续物理布局,数学上的非单位 step 仍受支持。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] Bug 修复 - [x] 新功能 - [ ] 代码风格更新(格式化,局部变量) - [ ] 重构(既不修复错误也不增加功能的代码变动) - [x] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 关联的Issue 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 已完成 IndexExpr/Arange 相关 C++ 定向 UT,12 passed。 2. 已完成 device-validation Python 定向测试,259 passed;Ascend950 fused 精度验证有效 133 个 cell,其中 131 个通过,reduce_mask 的两个既有通用 Reduce codegen 问题仍按实测结果保留。 3. 已完成相关构建目标编译验证,构建并行度限制为 -j 8。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本 PR 基于远端 develop 分支新建。未包含 docs/、tool/、temp/、验证日志或生成产物。 See merge request: cann/graph-autofusion!1961 | 2 个月前 | |
feat: 恢复 CV Tensor API,裁剪不可达分支并修复静态特化 tiling Co-authored-by: ling-DT<lingxing@huawei.com> # message auto-generated for no-merge-commit merge: !2779 merge feat/cv-tensor-api-pruned-20261103 into develop feat: 恢复 CV Tensor API,裁剪不可达分支并修复静态特化 tiling Created-by: ling-DT Commit-by: ling-DT Merged-by: cann-robot Description: # Pull Request ## 描述 恢复此前回退的 CV Tensor API 支持,并按平台能力和原生 tiling 的实际可达策略裁剪 Basic/Tensor 分支,减少重复模板实例化。避免 Tensor API 切换后仍同时编译不可达的 Basic 分支;兼容仍可返回 Basic key 的平台或特殊策略。 同时修复 TF CV 的静态特化场景:上游 Reshape 将符号 M 特化为 50 并登记 guard 后,普通输入描述仍可能是 [12,-1,64]。静态 tiling 参数使用实际 Cube 输入的特化尺寸,并校验已知维度及 rank,一致后才送入原生 tiling;保留普通动态路径和具体尺寸输入的既有处理。 包含整体 Tensor API 恢复、可达分支裁剪、静态 Common workspace 偏移修正及上述 -1 修复。分支选择使用平台能力,不硬编码芯片型号。沿用既有模板语义名称,不增加命名分类。 ## 变更类型 - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 延续原 CV Tensor API 需求;本 PR 基于最新 develop 恢复原 !2727 的完整业务修改,并补充编译优化和修复。 ## 如何测试 1. 在 Ascend1017 CANN 环境使用本仓源码的 Release 产物,限制最多 8 个编译任务;本轮 Python 3.7/3.12 绑定以 2 个任务完成编译。裁剪/workspace 修改已有 420 项 C++ 测试通过、6 项既有跳过;shape、runtime key 修复及 Conv/动态头文件/替换入口对照共 108 项 Python 测试通过。 2. 完整 TF CV 复现:FP16 A 声明 [12,-1,64],先 Reshape,再与 [12,64,100] 做 BMM、Add bias [12,1,100]、Cast FP32;实际 M=50、66。修改前编译期 ValidateShape 拒绝 -1;修改后两种 M 均编译执行成功,动静态 MM-on/off 精度及 kernel 对照通过。 3. 整个 PR 59 个路径的 pre-commit 通过,显式 OAT 检查 59 个现存文件通过。未修改 docs 或 .gitignore。 4. 泛化回归正在串行执行,包含 MM/BMM、转置、bias、batch broadcast、TF/Inductor 动静态及 VV 对照。两项动态转置曾出现 kernel entry 查找失败,已定位为 host 写入 vector key、device 使用 native key:MM host 现使用完整 native key,Conv 保持原有 key。两项动静态共 4 组均已复测通过;修复专项原问题及泛化共 18 组(每组 MM-on/off)全部通过;补充 MM Fixpipe 1V1/1V2 的 Inductor 动静态共 4 组也全部通过。已恢复原 A5 可达 kernel 覆盖矩阵,尚未将整套矩阵标记完成。T5 端到端编译耗时尚未复测。补充裁剪后 A5 avoid=false 的动态 dispatch 候选 MM=16、BMM=15;切换前为16/12,不能宣称动态候选总量少于切换前。静态通过 if constexpr 避免未选中组合实例化。两种平台能力下共1920组分发及39组静态单实例化编译检查通过,补充修改的176项 C++ UT通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测(已通过与未通过项目分别列于上方) - [x] 我已更新了相关的文档(复现及验证记录位于 DT 工作区,仓内 docs 无需修改) - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 与 GE 的 Tensor API lowering/epilogue 精度修改 [!5760](https://gitcode.com/cann/ge/pull/5760) 配套使用。新分支基于 develop d7daed06,恢复操作及移植均无冲突;本地验证源码的两份修复文件与本 PR 一致。完整目标分支集成验证由 CI 继续检查。 See merge request: cann/graph-autofusion!2779 | 2 天前 | |
feat: 恢复 CV Tensor API,裁剪不可达分支并修复静态特化 tiling Co-authored-by: ling-DT<lingxing@huawei.com> # message auto-generated for no-merge-commit merge: !2779 merge feat/cv-tensor-api-pruned-20261103 into develop feat: 恢复 CV Tensor API,裁剪不可达分支并修复静态特化 tiling Created-by: ling-DT Commit-by: ling-DT Merged-by: cann-robot Description: # Pull Request ## 描述 恢复此前回退的 CV Tensor API 支持,并按平台能力和原生 tiling 的实际可达策略裁剪 Basic/Tensor 分支,减少重复模板实例化。避免 Tensor API 切换后仍同时编译不可达的 Basic 分支;兼容仍可返回 Basic key 的平台或特殊策略。 同时修复 TF CV 的静态特化场景:上游 Reshape 将符号 M 特化为 50 并登记 guard 后,普通输入描述仍可能是 [12,-1,64]。静态 tiling 参数使用实际 Cube 输入的特化尺寸,并校验已知维度及 rank,一致后才送入原生 tiling;保留普通动态路径和具体尺寸输入的既有处理。 包含整体 Tensor API 恢复、可达分支裁剪、静态 Common workspace 偏移修正及上述 -1 修复。分支选择使用平台能力,不硬编码芯片型号。沿用既有模板语义名称,不增加命名分类。 ## 变更类型 - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 延续原 CV Tensor API 需求;本 PR 基于最新 develop 恢复原 !2727 的完整业务修改,并补充编译优化和修复。 ## 如何测试 1. 在 Ascend1017 CANN 环境使用本仓源码的 Release 产物,限制最多 8 个编译任务;本轮 Python 3.7/3.12 绑定以 2 个任务完成编译。裁剪/workspace 修改已有 420 项 C++ 测试通过、6 项既有跳过;shape、runtime key 修复及 Conv/动态头文件/替换入口对照共 108 项 Python 测试通过。 2. 完整 TF CV 复现:FP16 A 声明 [12,-1,64],先 Reshape,再与 [12,64,100] 做 BMM、Add bias [12,1,100]、Cast FP32;实际 M=50、66。修改前编译期 ValidateShape 拒绝 -1;修改后两种 M 均编译执行成功,动静态 MM-on/off 精度及 kernel 对照通过。 3. 整个 PR 59 个路径的 pre-commit 通过,显式 OAT 检查 59 个现存文件通过。未修改 docs 或 .gitignore。 4. 泛化回归正在串行执行,包含 MM/BMM、转置、bias、batch broadcast、TF/Inductor 动静态及 VV 对照。两项动态转置曾出现 kernel entry 查找失败,已定位为 host 写入 vector key、device 使用 native key:MM host 现使用完整 native key,Conv 保持原有 key。两项动静态共 4 组均已复测通过;修复专项原问题及泛化共 18 组(每组 MM-on/off)全部通过;补充 MM Fixpipe 1V1/1V2 的 Inductor 动静态共 4 组也全部通过。已恢复原 A5 可达 kernel 覆盖矩阵,尚未将整套矩阵标记完成。T5 端到端编译耗时尚未复测。补充裁剪后 A5 avoid=false 的动态 dispatch 候选 MM=16、BMM=15;切换前为16/12,不能宣称动态候选总量少于切换前。静态通过 if constexpr 避免未选中组合实例化。两种平台能力下共1920组分发及39组静态单实例化编译检查通过,补充修改的176项 C++ UT通过。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测(已通过与未通过项目分别列于上方) - [x] 我已更新了相关的文档(复现及验证记录位于 DT 工作区,仓内 docs 无需修改) - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 与 GE 的 Tensor API lowering/epilogue 精度修改 [!5760](https://gitcode.com/cann/ge/pull/5760) 配套使用。新分支基于 develop d7daed06,恢复操作及移植均无冲突;本地验证源码的两份修复文件与本 PR 一致。完整目标分支集成验证由 CI 继续检查。 See merge request: cann/graph-autofusion!2779 | 2 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 天前 | ||
| 2 个月前 | ||
| 2 天前 | ||
| 2 天前 |