文件最后提交记录最后更新时间
【PR】: sync develop to master 0517 Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !2939 merge develop into master 【PR】: sync develop to master 0517 Created-by: wangxiaotian995 Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!293918 天前
【feat】: 移除VF融合中compare与select/where必须成对且类型相同的限制 Co-authored-by: chenyukai<chenyukai4@huawei.com> # message auto-generated for no-merge-commit merge: !2667 merge br_c00826661_MaskReg0508 into develop 【feat】: 移除VF融合中compare与select/where必须成对且类型相同的限制 Created-by: chenyukai Commit-by: chenyukai Merged-by: cann-robot Description: # Pull Request ## 描述 移除compare算子(GE/EQ/NE/GT/LE/LT)与Where/Select算子在向VF融合时,必须成对出现且输入类型必须匹配的强制限制,允许这些算子独立参与VF融合。 主要改动: 1. VF融合限制移除: - compare算子IsVectorFunctionSupported移除对下游的名称和类型检查 - Where/Select算子IsVectorFunctionSupported移除对上游的名称和类型检查 - 移除TryMergeCompareOutputs函数,不再强制合并Compare节点的所有输出 2. MaskReg初始化策略调整: - ShouldInitAsMaskReg:仅当Compare输出全部流向Where/Select的mask输入时才初始化为MaskReg,否则Compare输出为普通RegTensor,通过临时MaskReg转换 3. 代码生成时的MaskReg转换机制: - Compare生成:非MaskReg输出时先写入临时MaskReg,再Duplicate到实际RegTensor - Where/Select生成:非MaskReg输入时先用CompareScalar转换RegTensor到临时MaskReg - VFLoop新增CollectMaskRegTempTensors收集需要临时MaskReg的tensor 4. Load/Store算子dtype转换增强: - 新增micro_dtype_utils.h统一dtype大小计算工具 - Load支持LoadDist UnPack模式实现小dtype到大dtype的加载转换 - Store支持StoreDist Pack模式实现大dtype到小dtype的存储转换 - CallParam新增max_dtype_size参数传递VF的最大dtype 5. 代码重构: - 提取CompareAscIrCodegenImplV2基类统一六个compare算子公共实现 6. 测试用例: - 新增mask_reg_chain相关端到端测试用例 - 扩展micro_load/store_api_call UT测试 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 在昇腾环境下,图中存在单独的where/select节点或者compare节点,或者成对存在,但是dtype相同。 这三种类型的节点可以进入VF融合中 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!266728 天前