文件最后提交记录最后更新时间
add l Co-authored-by: JaydenChu<zhumin54@huawei.com> Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !370 merge 5_11_1 into master 【PR】: 同步GE仓最新修改到AF仓(4.14上午11时~5.15晚,总计129个PR需要同步) Created-by: JaydenChu Commit-by: JaydenChu;xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 同步GE仓最新修改到AF仓(4.14上午11时~5.15晚,总计129个PR需要同步) 所有涉及PR(包含检查过不需要同步的)从编号#1904(4.14 https://gitcode.com/cann/ge/pull/1904)到#2904(5.15 http://gitcode.com/cann/ge/pull/1904) 每个实际已同步pr都对应此pr的一个commit(部分同步pr为了方便同步合并到了一个commit中) ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 业务代码和llt编译通过 2. llt执行通过 3. 全量rdv验证通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!37018 天前
【PR】:[feat] [autofuse] Migrate autofuse from ge to graph-autofusion. Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !301 merge master_af into master 【PR】:[feat] [autofuse] Migrate autofuse from ge to graph-autofusion. Created-by: xingzhixiong Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 从 ge 仓解耦autofuse组件,从ge仓的compiler/graph/optimize/autofuse目录迁移至本仓autofuse目录,未来在本仓独立发包和演进,ge 仓的集成方式不变。 迁移内容主要包括自动融合范围识别、自动算子代码生成、Auto Tiling优化、动态shape及混合精度等特性。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.上板验证inductor+af单片段流程pass 2.上板验证inductor+af整网流程pass ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!3011 个月前
【fix】: CalculateStride中Sub结果取Abs防止MTE2负值 Co-authored-by: zhang_shengjie<804425610@qq.com> # message auto-generated for no-merge-commit merge: !393 merge develop into develop 【fix】: CalculateStride中Sub结果取Abs防止MTE2负值 Created-by: zhang_shengjie Commit-by: zhang_shengjie Merged-by: cann-robot Description: # Pull Request ## 描述 ### 一、主要解决的问题 #### 1.1 ATT轴排序算法MTE2性能评估为负值 ATT生成的tiling_func调用轴排序算法时,对存在非连续stride的用例进行性能评估,MTE2(Memory Transfer Engine 2,GM到UB的数据搬运)评估结果为负值。 **根因**:api_perf_utils.cppCalculateStride 函数计算 stride 时,使用 ge::sym::Sub(filtered_strides[block_count_idx], filtered_repeats[filtered_dim_size - 1])。在非连续场景下,filtered_strides[block_count_idx] 可能小于 filtered_repeats[filtered_dim_size - 1],导致 Sub 结果为负值。负 stride 传入性能模型(LoadStoreStrideV2Func 等)后,res = k * block_count * stride_used 乘积为负,最终 MTE2 评估值为负。 ### 二、修改方案 #### 2.1 源码修复(api_perf_utils.cpp) 在 CalculateStride 函数中,对 Sub 结果取 ge::sym::Abs,保证 stride 非负: - **动态shape分支**(第674行):ge::sym::Abs(ge::sym::Sub(...)) - **静态shape分支**(第681行):ge::sym::Abs(ge::sym::Sub(...)) filtered_dim_size == 1 分支不需要修改,因为该路径的 Sub 不会产生负值。 #### 2.2 tiling_func代码生成支持(tiling_code_gen_impl.cpp) GenExpressionMacro() 中新增 Abs 宏定义,供生成的 tiling_func 代码使用: ```c #define Abs(a) ((double)(a) >= 0 ? (a) : -(a)) ``` 风格与已有的 Max/Min 宏保持一致。 #### 2.3 测试用例更新 stride 表达式被 Abs 包装后,符号表达式序列化形式发生变化(如 Mod(((7 * z4t_size) + -7), 256)Mod(Abs((7 - (7 * z4t_size))), 256)),同步更新 3 个测试文件的 expected 字符串。 ### 三、代码修改流程图 ```mermaid flowchart TD A[CalculateStride计算stride] --> B{Sub结果是否可能为负?} B -->|是: 非连续场景stride < repeat| C[Abs包装Sub结果] B -->|否: dim_size==1分支| D[保持不变] C --> E[stride非负传入性能模型] E --> F[MTE2评估值非负] G[GenExpressionMacro] --> H[新增Abs宏定义] H --> I[tiling_func代码可使用Abs] J[测试用例] --> K[更新expected字符串] style A fill:#FFD700,stroke:#B8860B,stroke-width:2px style C fill:#90EE90,stroke:#006400,stroke-width:2px style H fill:#90EE90,stroke:#006400,stroke-width:2px style K fill:#e1f5ff,stroke:#4682B4,stroke-width:2px ``` ## 变更类型 请选择本次引入的变更类型: - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 ### 一 测试用例说明 #### 1.1 单元测试 - bash scripts/test/run_autofuse_test.sh --ascend_install_path=<path> --ascend_3rd_lib_path=<path> -u -m att - 866 tests PASSED, 0 failed #### 1.2 系统测试 - bash scripts/test/run_autofuse_test.sh --ascend_install_path=<path> --ascend_3rd_lib_path=<path> -s -m att - 100% tests passed, 0 tests failed ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 ### 验证方法 UT: 866 PASSED / ST: 100% passed,涵盖 TestLoadApiForTypev1TestStoreApiForTypeTestNddmaApiSmallBlockLen 等关键用例。 ### 注意事项 修改仅影响 CalculateStride 的 stride 计算层,不影响 CalculateBlockCountByIndexCalculateStridePenalty 等下游函数。 See merge request: cann/graph-autofusion!39316 天前
【fix】: CalculateStride中Sub结果取Abs防止MTE2负值 Co-authored-by: zhang_shengjie<804425610@qq.com> # message auto-generated for no-merge-commit merge: !393 merge develop into develop 【fix】: CalculateStride中Sub结果取Abs防止MTE2负值 Created-by: zhang_shengjie Commit-by: zhang_shengjie Merged-by: cann-robot Description: # Pull Request ## 描述 ### 一、主要解决的问题 #### 1.1 ATT轴排序算法MTE2性能评估为负值 ATT生成的tiling_func调用轴排序算法时,对存在非连续stride的用例进行性能评估,MTE2(Memory Transfer Engine 2,GM到UB的数据搬运)评估结果为负值。 **根因**:api_perf_utils.cppCalculateStride 函数计算 stride 时,使用 ge::sym::Sub(filtered_strides[block_count_idx], filtered_repeats[filtered_dim_size - 1])。在非连续场景下,filtered_strides[block_count_idx] 可能小于 filtered_repeats[filtered_dim_size - 1],导致 Sub 结果为负值。负 stride 传入性能模型(LoadStoreStrideV2Func 等)后,res = k * block_count * stride_used 乘积为负,最终 MTE2 评估值为负。 ### 二、修改方案 #### 2.1 源码修复(api_perf_utils.cpp) 在 CalculateStride 函数中,对 Sub 结果取 ge::sym::Abs,保证 stride 非负: - **动态shape分支**(第674行):ge::sym::Abs(ge::sym::Sub(...)) - **静态shape分支**(第681行):ge::sym::Abs(ge::sym::Sub(...)) filtered_dim_size == 1 分支不需要修改,因为该路径的 Sub 不会产生负值。 #### 2.2 tiling_func代码生成支持(tiling_code_gen_impl.cpp) GenExpressionMacro() 中新增 Abs 宏定义,供生成的 tiling_func 代码使用: ```c #define Abs(a) ((double)(a) >= 0 ? (a) : -(a)) ``` 风格与已有的 Max/Min 宏保持一致。 #### 2.3 测试用例更新 stride 表达式被 Abs 包装后,符号表达式序列化形式发生变化(如 Mod(((7 * z4t_size) + -7), 256)Mod(Abs((7 - (7 * z4t_size))), 256)),同步更新 3 个测试文件的 expected 字符串。 ### 三、代码修改流程图 ```mermaid flowchart TD A[CalculateStride计算stride] --> B{Sub结果是否可能为负?} B -->|是: 非连续场景stride < repeat| C[Abs包装Sub结果] B -->|否: dim_size==1分支| D[保持不变] C --> E[stride非负传入性能模型] E --> F[MTE2评估值非负] G[GenExpressionMacro] --> H[新增Abs宏定义] H --> I[tiling_func代码可使用Abs] J[测试用例] --> K[更新expected字符串] style A fill:#FFD700,stroke:#B8860B,stroke-width:2px style C fill:#90EE90,stroke:#006400,stroke-width:2px style H fill:#90EE90,stroke:#006400,stroke-width:2px style K fill:#e1f5ff,stroke:#4682B4,stroke-width:2px ``` ## 变更类型 请选择本次引入的变更类型: - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 ### 一 测试用例说明 #### 1.1 单元测试 - bash scripts/test/run_autofuse_test.sh --ascend_install_path=<path> --ascend_3rd_lib_path=<path> -u -m att - 866 tests PASSED, 0 failed #### 1.2 系统测试 - bash scripts/test/run_autofuse_test.sh --ascend_install_path=<path> --ascend_3rd_lib_path=<path> -s -m att - 100% tests passed, 0 tests failed ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 ### 验证方法 UT: 866 PASSED / ST: 100% passed,涵盖 TestLoadApiForTypev1TestStoreApiForTypeTestNddmaApiSmallBlockLen 等关键用例。 ### 注意事项 修改仅影响 CalculateStride 的 stride 计算层,不影响 CalculateBlockCountByIndexCalculateStridePenalty 等下游函数。 See merge request: cann/graph-autofusion!39316 天前
add l Co-authored-by: JaydenChu<zhumin54@huawei.com> Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !370 merge 5_11_1 into master 【PR】: 同步GE仓最新修改到AF仓(4.14上午11时~5.15晚,总计129个PR需要同步) Created-by: JaydenChu Commit-by: JaydenChu;xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 同步GE仓最新修改到AF仓(4.14上午11时~5.15晚,总计129个PR需要同步) 所有涉及PR(包含检查过不需要同步的)从编号#1904(4.14 https://gitcode.com/cann/ge/pull/1904)到#2904(5.15 http://gitcode.com/cann/ge/pull/1904) 每个实际已同步pr都对应此pr的一个commit(部分同步pr为了方便同步合并到了一个commit中) ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [x] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 业务代码和llt编译通过 2. llt执行通过 3. 全量rdv验证通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!37018 天前
【PR】: [feat] [autofuse] joint debug with ge. Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !349 merge master_joint_debug_with_ge into master 【PR】: [feat] [autofuse] joint debug with ge. Created-by: xingzhixiong Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 1、修改autofuse后端代码,与ge仓的autofuse前端代码进行联调 2、修复硬编码以及非root用户卸载残留问题 3、适配工程禁用ASCEND_INSTALL_PATH的需求 4、新增cann包安装控制项,用于控制是否安装autofuse后端的编译产物(libaihac_codegen.so/libaihac_ir_register.so/libaihac_ir.so/pyautofuse.so等库) ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. graph-autofusion仓编译构建成功,出包验证安装卸载正常 2. 装包后autofuse红线用例验证通过 说明:此pr上库后装graph-autofusion的cann包默认是不会装autofuse产物的,故不会对现有的ge流程有影响,只有显示指定--autofuse安装选项才会安装autofuse产物,后续等ge仓代码要上库时此开关会同步放开。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!34925 天前
【PR】: [feat] [autofuse] joint debug with ge. Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !349 merge master_joint_debug_with_ge into master 【PR】: [feat] [autofuse] joint debug with ge. Created-by: xingzhixiong Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 1、修改autofuse后端代码,与ge仓的autofuse前端代码进行联调 2、修复硬编码以及非root用户卸载残留问题 3、适配工程禁用ASCEND_INSTALL_PATH的需求 4、新增cann包安装控制项,用于控制是否安装autofuse后端的编译产物(libaihac_codegen.so/libaihac_ir_register.so/libaihac_ir.so/pyautofuse.so等库) ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. graph-autofusion仓编译构建成功,出包验证安装卸载正常 2. 装包后autofuse红线用例验证通过 说明:此pr上库后装graph-autofusion的cann包默认是不会装autofuse产物的,故不会对现有的ge流程有影响,只有显示指定--autofuse安装选项才会安装autofuse产物,后续等ge仓代码要上库时此开关会同步放开。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!34925 天前
【PR】: [feat] [autofuse] joint debug with ge. Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !349 merge master_joint_debug_with_ge into master 【PR】: [feat] [autofuse] joint debug with ge. Created-by: xingzhixiong Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 1、修改autofuse后端代码,与ge仓的autofuse前端代码进行联调 2、修复硬编码以及非root用户卸载残留问题 3、适配工程禁用ASCEND_INSTALL_PATH的需求 4、新增cann包安装控制项,用于控制是否安装autofuse后端的编译产物(libaihac_codegen.so/libaihac_ir_register.so/libaihac_ir.so/pyautofuse.so等库) ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. graph-autofusion仓编译构建成功,出包验证安装卸载正常 2. 装包后autofuse红线用例验证通过 说明:此pr上库后装graph-autofusion的cann包默认是不会装autofuse产物的,故不会对现有的ge流程有影响,只有显示指定--autofuse安装选项才会安装autofuse产物,后续等ge仓代码要上库时此开关会同步放开。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/graph-autofusion!34925 天前