| refactor(pooling): 重命名MaxPoolGradFusionPass并统一MaxPoolV3Grad的NaN处理策略 Co-authored-by: qq_52056150<wangshuo179@huawei.com> # message auto-generated for no-merge-commit merge: !9988 merge refactor/max-pool-grad-fusion-pass-rename-and-nan-policy into master refactor(pooling): 重命名MaxPoolGradFusionPass并统一MaxPoolV3Grad的NaN处理策略 Created-by: qq_52056150 Commit-by: qq_52056150 Merged-by: cann-robot Description: 本 MR 包含两部分内容:融合规则重命名与配套资料、MaxPoolV3Grad 与 MaxPoolGrad 的 NaN 处理策略统一。两部分修改文件零重叠。 ## 一、重命名 MaxPoolGradFusionPass 并补充融合规则资料 将 MaxPoolV3GradFusionPass 统一重命名为 MaxPoolGradFusionPass。原名按被改写后的 **目的算子**命名,但该规则实际匹配的**源算子**是 MaxPoolGrad (kSourceOpTypes = {"MaxPoolGrad"}),与前向 MaxPool --> MaxPoolV3 的 MaxPoolFusionPass 命名方式保持一致。 纯 1:1 重命名,无逻辑变更: | 项 | 原 | 新 | | --- | --- | --- | | 实现文件 | max_pool_v3_grad_fusion_pass.cpp | max_pool_grad_fusion_pass.cpp | | 头文件 | max_pool_v3_grad_fusion_pass.h | max_pool_grad_fusion_pass.h | | 头文件宏 | OPS_MAX_POOL_V3_GRAD_FUSION_PASS_H | OPS_MAX_POOL_GRAD_FUSION_PASS_H | | 类名 | MaxPoolV3GradFusionPass | MaxPoolGradFusionPass | | 注册名 | MaxPoolV3GradFusionPass | MaxPoolGradFusionPass | | UT 文件 | test_max_pool_v3_grad_fusion_pass.cpp | test_max_pool_grad_fusion_pass.cpp | | UT 套件 | MaxPoolV3GradFusionPassTest | MaxPoolGradFusionPassTest | 新增 pooling/max_pool_v3_grad/docs/MaxPoolGradFusionPass.md 及配图,说明 MaxPoolGrad --> MaxPoolV3Grad 的融合规则、匹配条件与约束。op_graph 与 UT 的 CMakeLists 均以 glob 收集源文件,重命名不影响构建。 ## 二、统一 NaN 处理策略 MaxPoolV3Grad 此前通过模板参数选用 MAX_SELECT_NAN_IGNORE,与 MaxPoolGrad 的 MAX_SELECT_NAN_PROPAGATE 语义不一致。本次删除整套策略开关,两个算子统一采用 MaxPoolGrad 的 NaN 传播语义。 删除 MaxSelectPolicy 枚举及 MaxPoolGradSIMT 的 Policy 模板参数, CycleUpdate、MaxPoolNchw、MaxPoolNhwc 及各 asc_vf_call 同步去除该参数, 调用方 max_pool_grad.cpp 与 max_pool_v3_grad.cpp 不再传递策略。 关于最大值初值:原 PROPAGATE 分支用 NumericLimits<T>::NegativeInfinity(),该接口 仅支持 half/float/bfloat16。MaxPoolGrad 只有 3 种浮点 dtype 故可用,而 MaxPoolV3Grad 支持 9 种 dtype(含 int8/int16/int32/int64/uint8/uint16),直接复用会触发 static_assert 编译失败;NumericLimits<T>::Lowest() 同样不覆盖 int64,且对浮点 会在窗口同时含 -inf 与 Lowest() 时选错 argmax。因此改为复用本文件原 IGNORE 分支 已有的 maxIdx < 0 空累加器哨兵,无需任何初值常量: if ((*maxIdx < 0) || (val > *maxVal) || isnan(val)) 初值 maxVal = 0、maxIdx = -1 两行均取自原 IGNORE 分支,未引入新符号。 行为说明:NaN 恒胜出,窗口内按行优先扫描的最后一个 NaN 接收梯度;非 NaN 等值 first-wins。与原 MaxPoolGrad PROPAGATE 分支逐例等价(30 万组含 -inf/+inf/NaN/Lowest 的随机窗口 argmax 完全一致)。 同步更新 README 特殊值处理与确定性说明;golden 改为直接复现 kernel 的选择规则, 替换原先屏蔽 NaN 的编码实现。 ## 测试 本地验证通过,算子门槛用例全部验证通过,无功能影响,线上David冒烟和OBP冒烟均通过 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 新增MaxPoolGradFusionPass.md文档,更新README.md部分描述 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!9988 | 1 天前 |
| fix: Modify the AIDD docs issue Co-authored-by: zwj223<zhangwenjing55@h-partners.com> # message auto-generated for no-merge-commit merge: !8149 merge master into master fix: Modify the AIDD docs issue Created-by: zwj223 Commit-by: zwj223 Merged-by: cann-robot Description: ## 描述 修改AIDD扫描的核心资料问题 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#3939](https://gitcode.com/cann/ops-nn/issues/3939) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8149 | 1 个月前 |
| fix quickstart Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !9897 merge master into master fix quickstart Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 修改quickstart的内容 ## 关联的Issue 关联Issue #3840 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9897 | 5 天前 |
| torch资料入口 Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !9678 merge torch into master torch资料入口 Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 torch资料入口补充 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/3384 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 docs/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9678 | 8 天前 |