| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: precommit整改 Co-authored-by: yelongjian<yelongjian1@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge dev-precommit into develop fix: precommit整改 Created-by: yelongjian Commit-by: yelongjian Merged-by: cann-robot Description: # Pull Request ## 描述 precommit整改 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.NA ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3726 | 2 个月前 | |
feat: 支持自定义输入输出offset的内存分配 Co-authored-by: tangqunzhang<tangqunzhang@huawei.com> # message auto-generated for no-merge-commit merge: !4015 merge feat/custom-input-output-memory-offset into develop feat: 支持自定义输入输出offset的内存分配 Created-by: tangqunzhang Commit-by: tangqunzhang Merged-by: cann-robot Description: ## 描述 性能优化,为了减少一次片内拷贝,HcomAllgather算子输入输出共用一块内存,输入节点直接按偏移量写入内存指定位置,由优化pass设置属性,内存分配按属性进行偏移(本PR只实现内存分配部分)。 新增 ATTR_NAME_CUSTOM_INPUT_OUTPUT_OFFSET 属性,用于区分普通 ref 场景,实现自定义输入输出 offset。 主要变更: 1. 新增 _custom_input_output_offset 属性定义(ge_attr_define.cc/h) 2. 新增 GetOffsetFromPeerOutputList/GetOffsetFromPeerInputList/GetCustomOffset 三个函数,通过 ATTR_NAME_OUTPUT_OFFSET_LIST_FOR_CONTINUOUS(输入peer)和 ATTR_NAME_INPUT_OFFSET_LIST_FOR_CONTINUOUS(输出peer)计算输出相对输入的偏移量,两个属性互斥校验,同时检测 ref/atomic 冲突 3. CheckRefNodeOffset 中使用 GetCustomOffset 计算自定义 offset 后校验 4. UpdateRefOpOutputOffset 中 custom_offset != 0 时跳过输出 offset 刷新 5. AssignContinuousOutputMemory 中 NoPadding 分支增加 UpdateOffsetsByOffsetListAttr 调用 6. 修复 UpdateOffsetsByOffsetListAttr 日志中 output/input 索引描述错误 7. 补充 4 个 UT 用例和 1 个 ST 用例 ## 变更类型 - [x] ✨ 新功能 - [x] 🐛 Bug 修复 ## 关联的Issue 无 ## 如何测试 1. 对需要自定义输入输出 offset 的算子节点设置 _custom_input_output_offset 和 _output_reuse_input 属性为 true 2. 在输入 peer 设置 _output_offset_list_for_continuous 或在输出 peer 设置 _input_offset_list_for_continuous 指定偏移量 3. 编译图并检查内存分配结果,验证 output_offset - input_offset 是否等于自定义偏移量 4. 验证未设置该属性的算子行为不受影响 5. UT:CustomInputOutputOffset_WithOutputOffsetList_Success、CustomInputOutputOffset_WithInputOffsetList_Success、CustomInputOutputOffset_PeerOutputIsAtomic_Failed、CustomInputOutputOffset_PeerInputIsRef_Failed 6. ST:CustomInputOutputOffset_WithInputOffsetList_Success ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定 ## 其他信息 该属性用于支持特定场景下输入输出需要不同 offset 的内存排布需求,避免 ref 机制强制将输出 offset 刷新为与输入一致。GetCustomOffset 仅在同时设置 ATTR_NAME_CUSTOM_INPUT_OUTPUT_OFFSET 和 ATTR_NAME_OUTPUT_REUSE_INPUT 时生效,且仅支持单输入单输出节点。 See merge request: cann/ge!4015 | 1 个月前 | |
【PR】: [feat] [autofuse] Reconstruction of autofuse frontend code. Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !3744 merge develop_codecheck into develop 【PR】: [feat] [autofuse] Reconstruction of autofuse frontend code. Created-by: xingzhixiong Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 将ge中的autofuse前端依赖的gaf仓头文件进行解耦优化,短期无法解耦的头文件暂时采用拷贝方式,后续等ascir标准化需求落地后再开放标准API到cann包中供ge侧使用。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. ci流水线pass 2. rdv pass ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3744 | 2 个月前 | |
【fix】: autofuse CalculateOneOrZero 修复 IsNan 调用方式及 INT32 兼容性 Co-authored-by: Ren_Jie<renjie57@huawei.com> # message auto-generated for no-merge-commit merge: !4165 merge fix/autofuse-nan-safe-calculateoneorzero into develop 【fix】: autofuse CalculateOneOrZero 修复 IsNan 调用方式及 INT32 兼容性 Created-by: Ren_Jie Commit-by: Ren_Jie Merged-by: cann-robot Description: ## 问题 CalculateOneOrZero 中新增的 NaN 安全处理存在两个问题: 1. loop::IsNan 是函数, 需调用 loop::IsNan(input) 生成掩码, 而非传函数指针(编译错误) 2. Isnan 算子仅支持浮点类型(DT_FLOAT/DT_FLOAT16/DT_BF16), 对 DT_INT32 调用会校验失败 ## 修复 - 将 loop::IsNan 改为 loop::IsNan(input) 生成掩码 - 仅对 DT_FLOAT/DT_FLOAT16 施加 NaN 处理, DT_INT32 保持原逻辑(整数无 NaN) ## 自测 - pre-commit 检查全部通过(clang-format/codespell/OAT 等) See merge request: cann/ge!4165 | 1 个月前 | |
【PR】: 修复 Broadcast/Tile + Reduce 时 Reshape 输入输出定义 Co-authored-by: Yulin-Bi<13677173705@163.com> # message auto-generated for no-merge-commit merge: !4474 merge Ge_dev_bi into develop 【PR】: 修复 Broadcast/Tile + Reduce 时 Reshape 输入输出定义 Created-by: JacsonPile Commit-by: Yulin-Bi Merged-by: cann-robot Description: # Pull Request ## 描述 修复 AutoFuse BroadcastReduceEliminationPass 消除 Broadcast/Tile + Reduce 模式后,替换生成的 Reshape 节点结构不完整、输出 shape 描述不一致的问题。 原实现手工创建 Reshape OpDesc,只连接数据输入,并通过 shape 属性记录目标 shape;同时,Reshape 输出描述由输入描述复制而来,仅更新了 GeShape,可能继续保留原输入的 OriginShape 和 symbolic shape。以复现用例为例,静态 shape 已变为 [256, 10],但 origin/symbolic shape 仍可能是 [256, 1, 10],导致后续 Concat 符号 shape 推导发现输入 rank 不一致并报错: text input_3_dim_num(2) != first_input_dim_num(3) 本次变更包括: 1. 按 Reshape 算子原型创建 data + shape 两个输入,其中目标 shape 由 DT_INT64 Const 节点提供,并连接到 Reshape 的第二个输入。 2. 将 Reshape 输出的 GeShape、OriginShape 和 SymbolicDescAttr.origin_symbol_shape 同步为同一个目标 shape,避免静态描述与符号描述的 rank 不一致。 3. 补充 UT 校验,覆盖 Reshape 双输入结构、shape Const 的类型和值、三类 shape 描述以及数据边连接关系。 4. 补充 UT 使用 NodeUtils 所需的直接头文件依赖。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 暂无关联 Issue。 ## 如何测试 1. 编译并执行 autofusion_ut,重点运行 BroadcastReduceMax_EliminateWithSqueeze,确认: - Reshape 包含 data 和 shape 两个输入; - shape 输入来自 DT_INT64 Const,内容等于目标 shape; - 输出 GeShape、OriginShape 和 symbolic shape 一致; - 数据连接保持为 data -> Reshape -> relu。 2. 执行复现用例回归,确认不再出现 Concat 输入 rank 不一致错误。 3. 将输出与 CPU golden 比较。 当前验证结果: - 复现环境中的 ATC 编译已通过,不再出现 Concat symbolic shape rank 错误。 - ACL 执行返回 aclmdlExecute: ret=0,两个输出与 CPU golden 比对通过。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 影响文件: - compiler/graph/optimize/autofuse/autofuse/pattern_fusion/broadcast_reduce_elimination_pass.cpp - tests/autofuse/ut/autofuse/broadcast_reduce_elimination_pass_unittest.cpp See merge request: cann/ge!4474 | 19 天前 | |
【PR】: 内部头文件整改,同名不同内容重命名 Co-authored-by: jikai-tyler<jikai5@huawei.com> # message auto-generated for no-merge-commit merge: !3907 merge header_internal_2 into develop 【PR】: 内部头文件整改,同名不同内容重命名 Created-by: jikai-tyler Commit-by: jikai-tyler Merged-by: cann-robot Description: # Pull Request ## 描述 | 原文件名 | 新文件名 | |---|---| | compiler/graph/optimize/autofuse/autofuse/can_fuse/graph_manager.h | autofuse_graph_manager.h | | compiler/graph/optimize/autofuse/autofuse/lowering/lowering_utils.h | autofuse_lowering_utils.h | | compiler/graph/optimize/autofuse/autofuse/pattern_fusion/cast_remove_pass.h | autofuse_cast_remove_pass.h | ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!3907 | 1 个月前 | |
【PR】: [feat] [autofuse] add ut. Co-authored-by: xingzhixiong<xingzhixiong@huawei.com> # message auto-generated for no-merge-commit merge: !4401 merge develop_openSource_exercise into develop 【PR】: [feat] [autofuse] add ut. Created-by: xingzhixiong Commit-by: xingzhixiong Merged-by: cann-robot Description: # Pull Request ## 描述 补充autofuse相关ut。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 蓝区流水线通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/ge!4401 | 24 天前 |