| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Co-authored-by: SimonZzz<zhouquan79@huawei.com> # message auto-generated for no-merge-commit merge: !11282 merge fixUTVC7Coverage into master test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Created-by: SimonZzz Commit-by: SimonZzz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为迁移至 ops-nn 的 pooling 算子补充 op_host tiling UT(ascend950/arch35 模板链路),新增 10 个测试文件共 158 个用例,未修改任何算子源码。 **新增覆盖(按 common 目录):** - adaptive_pool3d_common(61.8% → 94.5%):AdaptiveMaxPool3d 的 para/big_kernel/simt 三模板(优先级 0/1/2)首次正向选中。存量测试未设置平台 version(NpuArch=3510),common 基类 GetShapeAttrsInfo 的 arch 检查将三个模板全部拒绝、落到算子私有模板;新用例补齐平台设置并覆盖 GetAndCheckIndicesDtype 全分支(INT32/INT64/强制升档/非法值)。 - pool_3d_common(26.7% → 83.2%):打通 AvgPool3D arch35 模板链(存量测试 is_regbase=false 走 310P 旧路径),Avg/Max 两算子覆盖 0/10/11/12/13/19 全部注册模板;新增 SAME/VALID padding 校验(CheckOutPutShapeForSame/Valid 此前整体 0 覆盖)、sparse 模式(stride≥2×kernel)、大输入切分(CalcSplitMaxRows/Cols/EnableSplit)、divisor_override、ceil_mode 分支。 - pool_grad_common(98.7% 保持):nchw common 经 max_pool_grad_with_argmax_v3 的 NCHW 用例进一步覆盖。 **其余算子**(max_pool3d_grad、max_pool3d_with_argmax_v2、max_pool_grad_with_argmax(_v3)、max_pool_with_argmax_v3、adaptive_avg_pool2d/3d(_grad)):max_pool3d_grad 从零新建 tiling UT(此前仅有 infershape),其余补充 NCHW 路径、split_w/simt 模板正向选中、穷举搜索与兜底路径等未触发分支。 **顺带修复一处存量测试问题:** - test_adaptive_avg_pool3d_tiling_rebase.cpp 文件名不匹配 CMake glob(test_*_tiling.cpp)导致从未编译执行,重命名为 test_adaptive_avg_pool3d_rebase_tiling.cpp 移入 arch35/ 目录,并修复 gtest 符号冲突、过期 tiling key 期望值(旧编码)、缺失 SetOpType、tiling data 结构体新增 threadNum 字段。 **多 SoC 隔离说明:** 多 SoC 算子(adaptive_avg_pool3d/avg_pool3_d 等)的 arch35 专项用例统一置于 tests/ut/op_host/arch35/ 子目录,非 ascend950 构建的 UT glob 不收集该目录,避免在 Atlas 训练系列 SoC 构建下因 arch35 模板未注册而失败。 **版本兼容说明:** max_pool3d_grad 的 3 个用例(011/012/014)中 TilingKey/BlockDim/Workspace 的具体取值在 CANN 9.0 与 9.3.0 间存在实现差异(key 编码位/BlockDim 算法/Workspace 策略),此类断言放宽为环境无关的语义断言(key>0、blockDim>=1、workspace>=下界),保留 tiling 成功与模板 fallthrough 的验证语义。 无法覆盖代码(死代码/UT 框架限制/极端 shape 代价,如无调用者的 Tiling4AvgPool3DRegBase、metadef 空平台断言路径等)已逐一归类分析。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6289 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - 构建命令:bash build.sh -u --ophost --soc=ascend950 --cov - **本 PR 范围内全部用例通过**(CI ascend950 轮 4209 用例全部 PASSED,含本 PR 全部新增用例) - 覆盖率(lcov,tiling 行覆盖,ascend950 构建): | 目录 | 基线 | 本 PR | |------|------|-------| | adaptive_pool3d_common | 61.8% | 94.5% | | pool_3d_common | 26.7% | 83.2% | | pool_grad_common | 98.7% | 98.7% | | 全局(行/函数) | 78.2% / 82.0% | 89%+ / 92%+ | - pre-commit hooks 全部通过(clang-format、OAT license 检查、codespell) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:补充 pooling 算子 tiling UT 覆盖率(含 1 处存量测试失联修复) ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11282 | 14 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Co-authored-by: SimonZzz<zhouquan79@huawei.com> # message auto-generated for no-merge-commit merge: !11282 merge fixUTVC7Coverage into master test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Created-by: SimonZzz Commit-by: SimonZzz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为迁移至 ops-nn 的 pooling 算子补充 op_host tiling UT(ascend950/arch35 模板链路),新增 10 个测试文件共 158 个用例,未修改任何算子源码。 **新增覆盖(按 common 目录):** - adaptive_pool3d_common(61.8% → 94.5%):AdaptiveMaxPool3d 的 para/big_kernel/simt 三模板(优先级 0/1/2)首次正向选中。存量测试未设置平台 version(NpuArch=3510),common 基类 GetShapeAttrsInfo 的 arch 检查将三个模板全部拒绝、落到算子私有模板;新用例补齐平台设置并覆盖 GetAndCheckIndicesDtype 全分支(INT32/INT64/强制升档/非法值)。 - pool_3d_common(26.7% → 83.2%):打通 AvgPool3D arch35 模板链(存量测试 is_regbase=false 走 310P 旧路径),Avg/Max 两算子覆盖 0/10/11/12/13/19 全部注册模板;新增 SAME/VALID padding 校验(CheckOutPutShapeForSame/Valid 此前整体 0 覆盖)、sparse 模式(stride≥2×kernel)、大输入切分(CalcSplitMaxRows/Cols/EnableSplit)、divisor_override、ceil_mode 分支。 - pool_grad_common(98.7% 保持):nchw common 经 max_pool_grad_with_argmax_v3 的 NCHW 用例进一步覆盖。 **其余算子**(max_pool3d_grad、max_pool3d_with_argmax_v2、max_pool_grad_with_argmax(_v3)、max_pool_with_argmax_v3、adaptive_avg_pool2d/3d(_grad)):max_pool3d_grad 从零新建 tiling UT(此前仅有 infershape),其余补充 NCHW 路径、split_w/simt 模板正向选中、穷举搜索与兜底路径等未触发分支。 **顺带修复一处存量测试问题:** - test_adaptive_avg_pool3d_tiling_rebase.cpp 文件名不匹配 CMake glob(test_*_tiling.cpp)导致从未编译执行,重命名为 test_adaptive_avg_pool3d_rebase_tiling.cpp 移入 arch35/ 目录,并修复 gtest 符号冲突、过期 tiling key 期望值(旧编码)、缺失 SetOpType、tiling data 结构体新增 threadNum 字段。 **多 SoC 隔离说明:** 多 SoC 算子(adaptive_avg_pool3d/avg_pool3_d 等)的 arch35 专项用例统一置于 tests/ut/op_host/arch35/ 子目录,非 ascend950 构建的 UT glob 不收集该目录,避免在 Atlas 训练系列 SoC 构建下因 arch35 模板未注册而失败。 **版本兼容说明:** max_pool3d_grad 的 3 个用例(011/012/014)中 TilingKey/BlockDim/Workspace 的具体取值在 CANN 9.0 与 9.3.0 间存在实现差异(key 编码位/BlockDim 算法/Workspace 策略),此类断言放宽为环境无关的语义断言(key>0、blockDim>=1、workspace>=下界),保留 tiling 成功与模板 fallthrough 的验证语义。 无法覆盖代码(死代码/UT 框架限制/极端 shape 代价,如无调用者的 Tiling4AvgPool3DRegBase、metadef 空平台断言路径等)已逐一归类分析。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6289 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - 构建命令:bash build.sh -u --ophost --soc=ascend950 --cov - **本 PR 范围内全部用例通过**(CI ascend950 轮 4209 用例全部 PASSED,含本 PR 全部新增用例) - 覆盖率(lcov,tiling 行覆盖,ascend950 构建): | 目录 | 基线 | 本 PR | |------|------|-------| | adaptive_pool3d_common | 61.8% | 94.5% | | pool_3d_common | 26.7% | 83.2% | | pool_grad_common | 98.7% | 98.7% | | 全局(行/函数) | 78.2% / 82.0% | 89%+ / 92%+ | - pre-commit hooks 全部通过(clang-format、OAT license 检查、codespell) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:补充 pooling 算子 tiling UT 覆盖率(含 1 处存量测试失联修复) ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11282 | 14 天前 | |
test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Co-authored-by: SimonZzz<zhouquan79@huawei.com> # message auto-generated for no-merge-commit merge: !11282 merge fixUTVC7Coverage into master test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Created-by: SimonZzz Commit-by: SimonZzz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为迁移至 ops-nn 的 pooling 算子补充 op_host tiling UT(ascend950/arch35 模板链路),新增 10 个测试文件共 158 个用例,未修改任何算子源码。 **新增覆盖(按 common 目录):** - adaptive_pool3d_common(61.8% → 94.5%):AdaptiveMaxPool3d 的 para/big_kernel/simt 三模板(优先级 0/1/2)首次正向选中。存量测试未设置平台 version(NpuArch=3510),common 基类 GetShapeAttrsInfo 的 arch 检查将三个模板全部拒绝、落到算子私有模板;新用例补齐平台设置并覆盖 GetAndCheckIndicesDtype 全分支(INT32/INT64/强制升档/非法值)。 - pool_3d_common(26.7% → 83.2%):打通 AvgPool3D arch35 模板链(存量测试 is_regbase=false 走 310P 旧路径),Avg/Max 两算子覆盖 0/10/11/12/13/19 全部注册模板;新增 SAME/VALID padding 校验(CheckOutPutShapeForSame/Valid 此前整体 0 覆盖)、sparse 模式(stride≥2×kernel)、大输入切分(CalcSplitMaxRows/Cols/EnableSplit)、divisor_override、ceil_mode 分支。 - pool_grad_common(98.7% 保持):nchw common 经 max_pool_grad_with_argmax_v3 的 NCHW 用例进一步覆盖。 **其余算子**(max_pool3d_grad、max_pool3d_with_argmax_v2、max_pool_grad_with_argmax(_v3)、max_pool_with_argmax_v3、adaptive_avg_pool2d/3d(_grad)):max_pool3d_grad 从零新建 tiling UT(此前仅有 infershape),其余补充 NCHW 路径、split_w/simt 模板正向选中、穷举搜索与兜底路径等未触发分支。 **顺带修复一处存量测试问题:** - test_adaptive_avg_pool3d_tiling_rebase.cpp 文件名不匹配 CMake glob(test_*_tiling.cpp)导致从未编译执行,重命名为 test_adaptive_avg_pool3d_rebase_tiling.cpp 移入 arch35/ 目录,并修复 gtest 符号冲突、过期 tiling key 期望值(旧编码)、缺失 SetOpType、tiling data 结构体新增 threadNum 字段。 **多 SoC 隔离说明:** 多 SoC 算子(adaptive_avg_pool3d/avg_pool3_d 等)的 arch35 专项用例统一置于 tests/ut/op_host/arch35/ 子目录,非 ascend950 构建的 UT glob 不收集该目录,避免在 Atlas 训练系列 SoC 构建下因 arch35 模板未注册而失败。 **版本兼容说明:** max_pool3d_grad 的 3 个用例(011/012/014)中 TilingKey/BlockDim/Workspace 的具体取值在 CANN 9.0 与 9.3.0 间存在实现差异(key 编码位/BlockDim 算法/Workspace 策略),此类断言放宽为环境无关的语义断言(key>0、blockDim>=1、workspace>=下界),保留 tiling 成功与模板 fallthrough 的验证语义。 无法覆盖代码(死代码/UT 框架限制/极端 shape 代价,如无调用者的 Tiling4AvgPool3DRegBase、metadef 空平台断言路径等)已逐一归类分析。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6289 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - 构建命令:bash build.sh -u --ophost --soc=ascend950 --cov - **本 PR 范围内全部用例通过**(CI ascend950 轮 4209 用例全部 PASSED,含本 PR 全部新增用例) - 覆盖率(lcov,tiling 行覆盖,ascend950 构建): | 目录 | 基线 | 本 PR | |------|------|-------| | adaptive_pool3d_common | 61.8% | 94.5% | | pool_3d_common | 26.7% | 83.2% | | pool_grad_common | 98.7% | 98.7% | | 全局(行/函数) | 78.2% / 82.0% | 89%+ / 92%+ | - pre-commit hooks 全部通过(clang-format、OAT license 检查、codespell) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:补充 pooling 算子 tiling UT 覆盖率(含 1 处存量测试失联修复) ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11282 | 14 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Co-authored-by: SimonZzz<zhouquan79@huawei.com> # message auto-generated for no-merge-commit merge: !11282 merge fixUTVC7Coverage into master test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Created-by: SimonZzz Commit-by: SimonZzz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为迁移至 ops-nn 的 pooling 算子补充 op_host tiling UT(ascend950/arch35 模板链路),新增 10 个测试文件共 158 个用例,未修改任何算子源码。 **新增覆盖(按 common 目录):** - adaptive_pool3d_common(61.8% → 94.5%):AdaptiveMaxPool3d 的 para/big_kernel/simt 三模板(优先级 0/1/2)首次正向选中。存量测试未设置平台 version(NpuArch=3510),common 基类 GetShapeAttrsInfo 的 arch 检查将三个模板全部拒绝、落到算子私有模板;新用例补齐平台设置并覆盖 GetAndCheckIndicesDtype 全分支(INT32/INT64/强制升档/非法值)。 - pool_3d_common(26.7% → 83.2%):打通 AvgPool3D arch35 模板链(存量测试 is_regbase=false 走 310P 旧路径),Avg/Max 两算子覆盖 0/10/11/12/13/19 全部注册模板;新增 SAME/VALID padding 校验(CheckOutPutShapeForSame/Valid 此前整体 0 覆盖)、sparse 模式(stride≥2×kernel)、大输入切分(CalcSplitMaxRows/Cols/EnableSplit)、divisor_override、ceil_mode 分支。 - pool_grad_common(98.7% 保持):nchw common 经 max_pool_grad_with_argmax_v3 的 NCHW 用例进一步覆盖。 **其余算子**(max_pool3d_grad、max_pool3d_with_argmax_v2、max_pool_grad_with_argmax(_v3)、max_pool_with_argmax_v3、adaptive_avg_pool2d/3d(_grad)):max_pool3d_grad 从零新建 tiling UT(此前仅有 infershape),其余补充 NCHW 路径、split_w/simt 模板正向选中、穷举搜索与兜底路径等未触发分支。 **顺带修复一处存量测试问题:** - test_adaptive_avg_pool3d_tiling_rebase.cpp 文件名不匹配 CMake glob(test_*_tiling.cpp)导致从未编译执行,重命名为 test_adaptive_avg_pool3d_rebase_tiling.cpp 移入 arch35/ 目录,并修复 gtest 符号冲突、过期 tiling key 期望值(旧编码)、缺失 SetOpType、tiling data 结构体新增 threadNum 字段。 **多 SoC 隔离说明:** 多 SoC 算子(adaptive_avg_pool3d/avg_pool3_d 等)的 arch35 专项用例统一置于 tests/ut/op_host/arch35/ 子目录,非 ascend950 构建的 UT glob 不收集该目录,避免在 Atlas 训练系列 SoC 构建下因 arch35 模板未注册而失败。 **版本兼容说明:** max_pool3d_grad 的 3 个用例(011/012/014)中 TilingKey/BlockDim/Workspace 的具体取值在 CANN 9.0 与 9.3.0 间存在实现差异(key 编码位/BlockDim 算法/Workspace 策略),此类断言放宽为环境无关的语义断言(key>0、blockDim>=1、workspace>=下界),保留 tiling 成功与模板 fallthrough 的验证语义。 无法覆盖代码(死代码/UT 框架限制/极端 shape 代价,如无调用者的 Tiling4AvgPool3DRegBase、metadef 空平台断言路径等)已逐一归类分析。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6289 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - 构建命令:bash build.sh -u --ophost --soc=ascend950 --cov - **本 PR 范围内全部用例通过**(CI ascend950 轮 4209 用例全部 PASSED,含本 PR 全部新增用例) - 覆盖率(lcov,tiling 行覆盖,ascend950 构建): | 目录 | 基线 | 本 PR | |------|------|-------| | adaptive_pool3d_common | 61.8% | 94.5% | | pool_3d_common | 26.7% | 83.2% | | pool_grad_common | 98.7% | 98.7% | | 全局(行/函数) | 78.2% / 82.0% | 89%+ / 92%+ | - pre-commit hooks 全部通过(clang-format、OAT license 检查、codespell) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:补充 pooling 算子 tiling UT 覆盖率(含 1 处存量测试失联修复) ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11282 | 14 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
refactor(pooling): 收编 Ascend 950/arch35 Kernel 重复实现 Co-authored-by: qq_52056150<wangshuo179@huawei.com> # message auto-generated for no-merge-commit merge: !10320 merge refactor/arch35-pooling-kernel-dup into master refactor(pooling): 收编 Ascend 950/arch35 Kernel 重复实现 Created-by: qq_52056150 Commit-by: qq_52056150 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1.AdaptiveAvgPool2D 模板逻辑收编:将 IS_FIRST、rowCount==2/3 的手工展开实现统一为 IS_FIRST / ROW_NUM 编译期模板,合并行累加、额外列累加及 Kw2 等重复逻辑。 2.AvgPoolV2Grad 向量计算收编:将 NCHW int64 索引路径的主块与尾块计算统一为 MultiLineVF2BlockInt64,并将 NHWC 的 w 整块与尾块计算统一为 MergeWBlock。 3.PoolGrad 公共能力收编:抽取 NCHW 反向公共字段,以及 NHWC merge-HWC、merge-HWC-int64 公共计算逻辑,供 arch35 Kernel 复用。 4.AdaptivePool3D 参数解析收编:统一 Avg/Max parallel pool 的公共参数解析与块切分参数,新增 arch35 专用公共结构,保持原有参数含义和切分行为不变。 5.AdaptiveAvgPool3DGrad Kernel 收编:抽取 NCDHW big/small Kernel 的公共字段及参数解析逻辑,减少不同 Kernel 实现之间的重复代码。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5370 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 受影响的算子复跑门槛用例均无引入功能问题,性能无劣化,线上David冒烟和OBP冒烟均已通过 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 不涉及 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:池化算子重复代码收编 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!10320 | 29 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
docs: 修复AvgPool2d与MultiScaleDeformableAttnFunction文档/示例问题 Co-authored-by: yuhao_<yuhao93@huawei.com> # message auto-generated for no-merge-commit merge: !11380 merge docs-master into master docs: 修复AvgPool2d与MultiScaleDeformableAttnFunction文档/示例问题 Created-by: yuhao_ Commit-by: yuhao_ Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11380 | 14 天前 | |
docs: 修正AvgPool2dBackward在A2/A3上cubeMathType=1的精度转换类型 Co-authored-by: mufei_L<luomufei1@huawei.com> # message auto-generated for no-merge-commit merge: !11340 merge master into master docs: 修正AvgPool2dBackward在A2/A3上cubeMathType=1的精度转换类型 Created-by: mufei_L Commit-by: mufei_L Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修正AvgPool2dBackward在A2/A3上cubeMathType=1的精度转换类型 A2/A3的ALLOW_FP32_DOWN_PRECISION实际按FLOAT16计算,文档与实现对齐。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#5675](https://gitcode.com/cann/ops-nn/issues/5675) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了pooling/avg_pool3_d_grad/docs/aclnnAvgPool2dBackward.md文件。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11340 | 15 天前 | |
docs: 统一原型注释中的产品名称(master) Co-authored-by: yolic<chenyuning1@huawei.com> # message auto-generated for no-merge-commit merge: !11186 merge 923soc into master docs: 统一原型注释中的产品名称(master) Created-by: yolic Commit-by: yolic Merged-by: cann-robot Description: ## 描述 原型注释里的产品名称仍沿用 Series Product、Ascend 950 AI Processor、Ascend 950PR/Ascend 950DT 等旧表述,与当前产品命名不一致。本次只改注释,不改算子接口和计算逻辑。 合入目标:cann/ops-nn 的 master。 覆盖各算子 op_graph/*_proto.h,以及 common/inc/op_graph/op_nn_proto_extend.h、common/stub/op_graph/math_proto_stub.cpp。 ## 关联的Issue 关联 Issue #6213(Close #6213) https://gitcode.com/cann/ops-nn/issues/6213 ## 测试 仅修改原型注释中的产品名称,不涉及算子 host/kernel 计算逻辑,无需算子泛化。已在本地用仓库 pre-commit 的 end-of-file-fixer 与 clang-format 核对格式,且没有改动算子输入、输出和属性定义。 ## 文档更新 更新了 op_graph 原型注释中的产品名称,无独立 markdown 文档。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11186 | 16 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
fix(pooling): 消除 VF scope 内结构体参数访问,修复 Ascend950 VF stack 波动 Co-authored-by: qq_52056150<wangshuo179@huawei.com> # message auto-generated for no-merge-commit merge: !11396 merge fix/pooling-vf-scope-param-struct into master fix(pooling): 消除 VF scope 内结构体参数访问,修复 Ascend950 VF stack 波动 Created-by: qq_52056150 Commit-by: qq_52056150 Merged-by: cann-robot Description: ## 描述 - 回退“收编 Ascend950/arch35 Kernel 重复实现”在 pooling 侧引入的结构体参数访问,恢复局部变量推导,消除 -Wcce-compat 告警与 VF stack 上涨; - MaxPoolGradWithArgmaxV3 NCHW int64 索引路径:索引装载细化 + 主循环拆分 VF scope,修复VF stack 爆栈问题(6944B/6176B > 6144B)导致的编译失败。 ## 关联的Issue [#6326](https://gitcode.com/cann/ops-nn/issues/6326) ## 测试 本地复跑不同的数据类型用例组合均通过,-d模式下无爆栈问题,精度均通过,David冒烟无异常 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11396 | 14 天前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 3 个月前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Co-authored-by: SimonZzz<zhouquan79@huawei.com> # message auto-generated for no-merge-commit merge: !11282 merge fixUTVC7Coverage into master test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Created-by: SimonZzz Commit-by: SimonZzz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为迁移至 ops-nn 的 pooling 算子补充 op_host tiling UT(ascend950/arch35 模板链路),新增 10 个测试文件共 158 个用例,未修改任何算子源码。 **新增覆盖(按 common 目录):** - adaptive_pool3d_common(61.8% → 94.5%):AdaptiveMaxPool3d 的 para/big_kernel/simt 三模板(优先级 0/1/2)首次正向选中。存量测试未设置平台 version(NpuArch=3510),common 基类 GetShapeAttrsInfo 的 arch 检查将三个模板全部拒绝、落到算子私有模板;新用例补齐平台设置并覆盖 GetAndCheckIndicesDtype 全分支(INT32/INT64/强制升档/非法值)。 - pool_3d_common(26.7% → 83.2%):打通 AvgPool3D arch35 模板链(存量测试 is_regbase=false 走 310P 旧路径),Avg/Max 两算子覆盖 0/10/11/12/13/19 全部注册模板;新增 SAME/VALID padding 校验(CheckOutPutShapeForSame/Valid 此前整体 0 覆盖)、sparse 模式(stride≥2×kernel)、大输入切分(CalcSplitMaxRows/Cols/EnableSplit)、divisor_override、ceil_mode 分支。 - pool_grad_common(98.7% 保持):nchw common 经 max_pool_grad_with_argmax_v3 的 NCHW 用例进一步覆盖。 **其余算子**(max_pool3d_grad、max_pool3d_with_argmax_v2、max_pool_grad_with_argmax(_v3)、max_pool_with_argmax_v3、adaptive_avg_pool2d/3d(_grad)):max_pool3d_grad 从零新建 tiling UT(此前仅有 infershape),其余补充 NCHW 路径、split_w/simt 模板正向选中、穷举搜索与兜底路径等未触发分支。 **顺带修复一处存量测试问题:** - test_adaptive_avg_pool3d_tiling_rebase.cpp 文件名不匹配 CMake glob(test_*_tiling.cpp)导致从未编译执行,重命名为 test_adaptive_avg_pool3d_rebase_tiling.cpp 移入 arch35/ 目录,并修复 gtest 符号冲突、过期 tiling key 期望值(旧编码)、缺失 SetOpType、tiling data 结构体新增 threadNum 字段。 **多 SoC 隔离说明:** 多 SoC 算子(adaptive_avg_pool3d/avg_pool3_d 等)的 arch35 专项用例统一置于 tests/ut/op_host/arch35/ 子目录,非 ascend950 构建的 UT glob 不收集该目录,避免在 Atlas 训练系列 SoC 构建下因 arch35 模板未注册而失败。 **版本兼容说明:** max_pool3d_grad 的 3 个用例(011/012/014)中 TilingKey/BlockDim/Workspace 的具体取值在 CANN 9.0 与 9.3.0 间存在实现差异(key 编码位/BlockDim 算法/Workspace 策略),此类断言放宽为环境无关的语义断言(key>0、blockDim>=1、workspace>=下界),保留 tiling 成功与模板 fallthrough 的验证语义。 无法覆盖代码(死代码/UT 框架限制/极端 shape 代价,如无调用者的 Tiling4AvgPool3DRegBase、metadef 空平台断言路径等)已逐一归类分析。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6289 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - 构建命令:bash build.sh -u --ophost --soc=ascend950 --cov - **本 PR 范围内全部用例通过**(CI ascend950 轮 4209 用例全部 PASSED,含本 PR 全部新增用例) - 覆盖率(lcov,tiling 行覆盖,ascend950 构建): | 目录 | 基线 | 本 PR | |------|------|-------| | adaptive_pool3d_common | 61.8% | 94.5% | | pool_3d_common | 26.7% | 83.2% | | pool_grad_common | 98.7% | 98.7% | | 全局(行/函数) | 78.2% / 82.0% | 89%+ / 92%+ | - pre-commit hooks 全部通过(clang-format、OAT license 检查、codespell) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:补充 pooling 算子 tiling UT 覆盖率(含 1 处存量测试失联修复) ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11282 | 14 天前 | |
test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Co-authored-by: SimonZzz<zhouquan79@huawei.com> # message auto-generated for no-merge-commit merge: !11282 merge fixUTVC7Coverage into master test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Created-by: SimonZzz Commit-by: SimonZzz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为迁移至 ops-nn 的 pooling 算子补充 op_host tiling UT(ascend950/arch35 模板链路),新增 10 个测试文件共 158 个用例,未修改任何算子源码。 **新增覆盖(按 common 目录):** - adaptive_pool3d_common(61.8% → 94.5%):AdaptiveMaxPool3d 的 para/big_kernel/simt 三模板(优先级 0/1/2)首次正向选中。存量测试未设置平台 version(NpuArch=3510),common 基类 GetShapeAttrsInfo 的 arch 检查将三个模板全部拒绝、落到算子私有模板;新用例补齐平台设置并覆盖 GetAndCheckIndicesDtype 全分支(INT32/INT64/强制升档/非法值)。 - pool_3d_common(26.7% → 83.2%):打通 AvgPool3D arch35 模板链(存量测试 is_regbase=false 走 310P 旧路径),Avg/Max 两算子覆盖 0/10/11/12/13/19 全部注册模板;新增 SAME/VALID padding 校验(CheckOutPutShapeForSame/Valid 此前整体 0 覆盖)、sparse 模式(stride≥2×kernel)、大输入切分(CalcSplitMaxRows/Cols/EnableSplit)、divisor_override、ceil_mode 分支。 - pool_grad_common(98.7% 保持):nchw common 经 max_pool_grad_with_argmax_v3 的 NCHW 用例进一步覆盖。 **其余算子**(max_pool3d_grad、max_pool3d_with_argmax_v2、max_pool_grad_with_argmax(_v3)、max_pool_with_argmax_v3、adaptive_avg_pool2d/3d(_grad)):max_pool3d_grad 从零新建 tiling UT(此前仅有 infershape),其余补充 NCHW 路径、split_w/simt 模板正向选中、穷举搜索与兜底路径等未触发分支。 **顺带修复一处存量测试问题:** - test_adaptive_avg_pool3d_tiling_rebase.cpp 文件名不匹配 CMake glob(test_*_tiling.cpp)导致从未编译执行,重命名为 test_adaptive_avg_pool3d_rebase_tiling.cpp 移入 arch35/ 目录,并修复 gtest 符号冲突、过期 tiling key 期望值(旧编码)、缺失 SetOpType、tiling data 结构体新增 threadNum 字段。 **多 SoC 隔离说明:** 多 SoC 算子(adaptive_avg_pool3d/avg_pool3_d 等)的 arch35 专项用例统一置于 tests/ut/op_host/arch35/ 子目录,非 ascend950 构建的 UT glob 不收集该目录,避免在 Atlas 训练系列 SoC 构建下因 arch35 模板未注册而失败。 **版本兼容说明:** max_pool3d_grad 的 3 个用例(011/012/014)中 TilingKey/BlockDim/Workspace 的具体取值在 CANN 9.0 与 9.3.0 间存在实现差异(key 编码位/BlockDim 算法/Workspace 策略),此类断言放宽为环境无关的语义断言(key>0、blockDim>=1、workspace>=下界),保留 tiling 成功与模板 fallthrough 的验证语义。 无法覆盖代码(死代码/UT 框架限制/极端 shape 代价,如无调用者的 Tiling4AvgPool3DRegBase、metadef 空平台断言路径等)已逐一归类分析。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6289 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - 构建命令:bash build.sh -u --ophost --soc=ascend950 --cov - **本 PR 范围内全部用例通过**(CI ascend950 轮 4209 用例全部 PASSED,含本 PR 全部新增用例) - 覆盖率(lcov,tiling 行覆盖,ascend950 构建): | 目录 | 基线 | 本 PR | |------|------|-------| | adaptive_pool3d_common | 61.8% | 94.5% | | pool_3d_common | 26.7% | 83.2% | | pool_grad_common | 98.7% | 98.7% | | 全局(行/函数) | 78.2% / 82.0% | 89%+ / 92%+ | - pre-commit hooks 全部通过(clang-format、OAT license 检查、codespell) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:补充 pooling 算子 tiling UT 覆盖率(含 1 处存量测试失联修复) ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11282 | 14 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Co-authored-by: SimonZzz<zhouquan79@huawei.com> # message auto-generated for no-merge-commit merge: !11282 merge fixUTVC7Coverage into master test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Created-by: SimonZzz Commit-by: SimonZzz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为迁移至 ops-nn 的 pooling 算子补充 op_host tiling UT(ascend950/arch35 模板链路),新增 10 个测试文件共 158 个用例,未修改任何算子源码。 **新增覆盖(按 common 目录):** - adaptive_pool3d_common(61.8% → 94.5%):AdaptiveMaxPool3d 的 para/big_kernel/simt 三模板(优先级 0/1/2)首次正向选中。存量测试未设置平台 version(NpuArch=3510),common 基类 GetShapeAttrsInfo 的 arch 检查将三个模板全部拒绝、落到算子私有模板;新用例补齐平台设置并覆盖 GetAndCheckIndicesDtype 全分支(INT32/INT64/强制升档/非法值)。 - pool_3d_common(26.7% → 83.2%):打通 AvgPool3D arch35 模板链(存量测试 is_regbase=false 走 310P 旧路径),Avg/Max 两算子覆盖 0/10/11/12/13/19 全部注册模板;新增 SAME/VALID padding 校验(CheckOutPutShapeForSame/Valid 此前整体 0 覆盖)、sparse 模式(stride≥2×kernel)、大输入切分(CalcSplitMaxRows/Cols/EnableSplit)、divisor_override、ceil_mode 分支。 - pool_grad_common(98.7% 保持):nchw common 经 max_pool_grad_with_argmax_v3 的 NCHW 用例进一步覆盖。 **其余算子**(max_pool3d_grad、max_pool3d_with_argmax_v2、max_pool_grad_with_argmax(_v3)、max_pool_with_argmax_v3、adaptive_avg_pool2d/3d(_grad)):max_pool3d_grad 从零新建 tiling UT(此前仅有 infershape),其余补充 NCHW 路径、split_w/simt 模板正向选中、穷举搜索与兜底路径等未触发分支。 **顺带修复一处存量测试问题:** - test_adaptive_avg_pool3d_tiling_rebase.cpp 文件名不匹配 CMake glob(test_*_tiling.cpp)导致从未编译执行,重命名为 test_adaptive_avg_pool3d_rebase_tiling.cpp 移入 arch35/ 目录,并修复 gtest 符号冲突、过期 tiling key 期望值(旧编码)、缺失 SetOpType、tiling data 结构体新增 threadNum 字段。 **多 SoC 隔离说明:** 多 SoC 算子(adaptive_avg_pool3d/avg_pool3_d 等)的 arch35 专项用例统一置于 tests/ut/op_host/arch35/ 子目录,非 ascend950 构建的 UT glob 不收集该目录,避免在 Atlas 训练系列 SoC 构建下因 arch35 模板未注册而失败。 **版本兼容说明:** max_pool3d_grad 的 3 个用例(011/012/014)中 TilingKey/BlockDim/Workspace 的具体取值在 CANN 9.0 与 9.3.0 间存在实现差异(key 编码位/BlockDim 算法/Workspace 策略),此类断言放宽为环境无关的语义断言(key>0、blockDim>=1、workspace>=下界),保留 tiling 成功与模板 fallthrough 的验证语义。 无法覆盖代码(死代码/UT 框架限制/极端 shape 代价,如无调用者的 Tiling4AvgPool3DRegBase、metadef 空平台断言路径等)已逐一归类分析。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6289 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - 构建命令:bash build.sh -u --ophost --soc=ascend950 --cov - **本 PR 范围内全部用例通过**(CI ascend950 轮 4209 用例全部 PASSED,含本 PR 全部新增用例) - 覆盖率(lcov,tiling 行覆盖,ascend950 构建): | 目录 | 基线 | 本 PR | |------|------|-------| | adaptive_pool3d_common | 61.8% | 94.5% | | pool_3d_common | 26.7% | 83.2% | | pool_grad_common | 98.7% | 98.7% | | 全局(行/函数) | 78.2% / 82.0% | 89%+ / 92%+ | - pre-commit hooks 全部通过(clang-format、OAT license 检查、codespell) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:补充 pooling 算子 tiling UT 覆盖率(含 1 处存量测试失联修复) ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11282 | 14 天前 | |
test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Co-authored-by: SimonZzz<zhouquan79@huawei.com> # message auto-generated for no-merge-commit merge: !11282 merge fixUTVC7Coverage into master test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Created-by: SimonZzz Commit-by: SimonZzz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为迁移至 ops-nn 的 pooling 算子补充 op_host tiling UT(ascend950/arch35 模板链路),新增 10 个测试文件共 158 个用例,未修改任何算子源码。 **新增覆盖(按 common 目录):** - adaptive_pool3d_common(61.8% → 94.5%):AdaptiveMaxPool3d 的 para/big_kernel/simt 三模板(优先级 0/1/2)首次正向选中。存量测试未设置平台 version(NpuArch=3510),common 基类 GetShapeAttrsInfo 的 arch 检查将三个模板全部拒绝、落到算子私有模板;新用例补齐平台设置并覆盖 GetAndCheckIndicesDtype 全分支(INT32/INT64/强制升档/非法值)。 - pool_3d_common(26.7% → 83.2%):打通 AvgPool3D arch35 模板链(存量测试 is_regbase=false 走 310P 旧路径),Avg/Max 两算子覆盖 0/10/11/12/13/19 全部注册模板;新增 SAME/VALID padding 校验(CheckOutPutShapeForSame/Valid 此前整体 0 覆盖)、sparse 模式(stride≥2×kernel)、大输入切分(CalcSplitMaxRows/Cols/EnableSplit)、divisor_override、ceil_mode 分支。 - pool_grad_common(98.7% 保持):nchw common 经 max_pool_grad_with_argmax_v3 的 NCHW 用例进一步覆盖。 **其余算子**(max_pool3d_grad、max_pool3d_with_argmax_v2、max_pool_grad_with_argmax(_v3)、max_pool_with_argmax_v3、adaptive_avg_pool2d/3d(_grad)):max_pool3d_grad 从零新建 tiling UT(此前仅有 infershape),其余补充 NCHW 路径、split_w/simt 模板正向选中、穷举搜索与兜底路径等未触发分支。 **顺带修复一处存量测试问题:** - test_adaptive_avg_pool3d_tiling_rebase.cpp 文件名不匹配 CMake glob(test_*_tiling.cpp)导致从未编译执行,重命名为 test_adaptive_avg_pool3d_rebase_tiling.cpp 移入 arch35/ 目录,并修复 gtest 符号冲突、过期 tiling key 期望值(旧编码)、缺失 SetOpType、tiling data 结构体新增 threadNum 字段。 **多 SoC 隔离说明:** 多 SoC 算子(adaptive_avg_pool3d/avg_pool3_d 等)的 arch35 专项用例统一置于 tests/ut/op_host/arch35/ 子目录,非 ascend950 构建的 UT glob 不收集该目录,避免在 Atlas 训练系列 SoC 构建下因 arch35 模板未注册而失败。 **版本兼容说明:** max_pool3d_grad 的 3 个用例(011/012/014)中 TilingKey/BlockDim/Workspace 的具体取值在 CANN 9.0 与 9.3.0 间存在实现差异(key 编码位/BlockDim 算法/Workspace 策略),此类断言放宽为环境无关的语义断言(key>0、blockDim>=1、workspace>=下界),保留 tiling 成功与模板 fallthrough 的验证语义。 无法覆盖代码(死代码/UT 框架限制/极端 shape 代价,如无调用者的 Tiling4AvgPool3DRegBase、metadef 空平台断言路径等)已逐一归类分析。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6289 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - 构建命令:bash build.sh -u --ophost --soc=ascend950 --cov - **本 PR 范围内全部用例通过**(CI ascend950 轮 4209 用例全部 PASSED,含本 PR 全部新增用例) - 覆盖率(lcov,tiling 行覆盖,ascend950 构建): | 目录 | 基线 | 本 PR | |------|------|-------| | adaptive_pool3d_common | 61.8% | 94.5% | | pool_3d_common | 26.7% | 83.2% | | pool_grad_common | 98.7% | 98.7% | | 全局(行/函数) | 78.2% / 82.0% | 89%+ / 92%+ | - pre-commit hooks 全部通过(clang-format、OAT license 检查、codespell) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:补充 pooling 算子 tiling UT 覆盖率(含 1 处存量测试失联修复) ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11282 | 14 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Co-authored-by: SimonZzz<zhouquan79@huawei.com> # message auto-generated for no-merge-commit merge: !11282 merge fixUTVC7Coverage into master test(pooling): 补充迁移 pooling 算子 tiling UT 并修复失联测试 Created-by: SimonZzz Commit-by: SimonZzz Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为迁移至 ops-nn 的 pooling 算子补充 op_host tiling UT(ascend950/arch35 模板链路),新增 10 个测试文件共 158 个用例,未修改任何算子源码。 **新增覆盖(按 common 目录):** - adaptive_pool3d_common(61.8% → 94.5%):AdaptiveMaxPool3d 的 para/big_kernel/simt 三模板(优先级 0/1/2)首次正向选中。存量测试未设置平台 version(NpuArch=3510),common 基类 GetShapeAttrsInfo 的 arch 检查将三个模板全部拒绝、落到算子私有模板;新用例补齐平台设置并覆盖 GetAndCheckIndicesDtype 全分支(INT32/INT64/强制升档/非法值)。 - pool_3d_common(26.7% → 83.2%):打通 AvgPool3D arch35 模板链(存量测试 is_regbase=false 走 310P 旧路径),Avg/Max 两算子覆盖 0/10/11/12/13/19 全部注册模板;新增 SAME/VALID padding 校验(CheckOutPutShapeForSame/Valid 此前整体 0 覆盖)、sparse 模式(stride≥2×kernel)、大输入切分(CalcSplitMaxRows/Cols/EnableSplit)、divisor_override、ceil_mode 分支。 - pool_grad_common(98.7% 保持):nchw common 经 max_pool_grad_with_argmax_v3 的 NCHW 用例进一步覆盖。 **其余算子**(max_pool3d_grad、max_pool3d_with_argmax_v2、max_pool_grad_with_argmax(_v3)、max_pool_with_argmax_v3、adaptive_avg_pool2d/3d(_grad)):max_pool3d_grad 从零新建 tiling UT(此前仅有 infershape),其余补充 NCHW 路径、split_w/simt 模板正向选中、穷举搜索与兜底路径等未触发分支。 **顺带修复一处存量测试问题:** - test_adaptive_avg_pool3d_tiling_rebase.cpp 文件名不匹配 CMake glob(test_*_tiling.cpp)导致从未编译执行,重命名为 test_adaptive_avg_pool3d_rebase_tiling.cpp 移入 arch35/ 目录,并修复 gtest 符号冲突、过期 tiling key 期望值(旧编码)、缺失 SetOpType、tiling data 结构体新增 threadNum 字段。 **多 SoC 隔离说明:** 多 SoC 算子(adaptive_avg_pool3d/avg_pool3_d 等)的 arch35 专项用例统一置于 tests/ut/op_host/arch35/ 子目录,非 ascend950 构建的 UT glob 不收集该目录,避免在 Atlas 训练系列 SoC 构建下因 arch35 模板未注册而失败。 **版本兼容说明:** max_pool3d_grad 的 3 个用例(011/012/014)中 TilingKey/BlockDim/Workspace 的具体取值在 CANN 9.0 与 9.3.0 间存在实现差异(key 编码位/BlockDim 算法/Workspace 策略),此类断言放宽为环境无关的语义断言(key>0、blockDim>=1、workspace>=下界),保留 tiling 成功与模板 fallthrough 的验证语义。 无法覆盖代码(死代码/UT 框架限制/极端 shape 代价,如无调用者的 Tiling4AvgPool3DRegBase、metadef 空平台断言路径等)已逐一归类分析。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6289 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - 构建命令:bash build.sh -u --ophost --soc=ascend950 --cov - **本 PR 范围内全部用例通过**(CI ascend950 轮 4209 用例全部 PASSED,含本 PR 全部新增用例) - 覆盖率(lcov,tiling 行覆盖,ascend950 构建): | 目录 | 基线 | 本 PR | |------|------|-------| | adaptive_pool3d_common | 61.8% | 94.5% | | pool_3d_common | 26.7% | 83.2% | | pool_grad_common | 98.7% | 98.7% | | 全局(行/函数) | 78.2% / 82.0% | 89%+ / 92%+ | - pre-commit hooks 全部通过(clang-format、OAT license 检查、codespell) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:补充 pooling 算子 tiling UT 覆盖率(含 1 处存量测试失联修复) ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11282 | 14 天前 | |
feat(max_pool3d_grad): implement NDHWC support and optimize NCDHW tiling key Co-authored-by: liuchuangdev<liuchuang51@huawei.com> Co-authored-by: fengjiawei1<fengjiawei5@huawei.com> # message auto-generated for no-merge-commit merge: !9788 merge feat/max_pool3d_grad_optimize into master feat(max_pool3d_grad): implement NDHWC support and optimize NCDHW tiling key Created-by: liuchuangdev Commit-by: fengjiawei1;liuchuangdev Merged-by: cann-robot Description: ## 描述 为 max_pool3d_grad(arch35)新增 **NDHWC 数据格式原生支持**,并重构 **NCDHW 大 kernel**、补齐公共层与测试,同时修复若干语义/健壮性问题。 ### 1. 新增 NDHWC 支持(核心) - **设备 kernel**: - max_pool3d_grad_ndhwc_small_kernel.h / max_pool3d_grad_ndhwc_big_kernel.h:NDHWC 小/大 kernel。 - max_pool3d_grad_ndhwc_impl_gather.h:前向**重算 argmax** 的 gather,按 dhwc/hwc/wc 与 lane 容量做**多级级联降级**(MultiNc/MultiDep/MultiRow/SingleRow + BigC 的 ChunkC)。 - max_pool3d_grad_ndhwc_impl_scatter.h:反向 **Scatter 四级并发策略**(前向产出 argmax → 按梯度 scatter 回输入),含 V_MTE2/MTE3_MTE2 硬事件与阶段池 alias 排空。 - **host tiling**:max_pool3d_grad_ndhwc_small_kernel_tiling.cpp、max_pool3d_grad_ndhwc_big_kernel_tiling.{h,cpp}:NDHWC 的分轴切分(N/C/D/H/W,C 方向 cDim/cAligned 分块)、大小 kernel 阈值、UB 预算与核分配。 - **公共层**:pool_grad_common/.../pool3d_grad_ndhwc_small_kernel_tiling.{h,cpp} 新增 NDHWC 公共 tiling 基类;pool3d_grad_struct_common.h 扩展 Pool3DGradNCDHWTilingData 字段并新增 Pool3DGradNDHWCTilingData。 ### 2. NCDHW 大 kernel 重构 - 前向拷贝改 MultiCopy 多维一次拷、拷贝拆分 MultiRows/SingleRow/WithD;新增 CalcRealIndex3D 三维索引分解;反向基类提取到 impl_scatter.h 供大小 kernel 共用;tiling 侧按对齐装载量与 UB 预算封顶 inputBufferSize、NoSplit 判据改对齐口径防越界、D 维搬运合并 LoopMode 单条、maxCount_ 向量化对齐。 ### 3. 语义与健壮性修复 - SIMT/golden 语义对齐 torch(-inf 空窗丢 grad、NaN 处理、重叠覆盖不累加、bf16 位模式转换); - Mte3Drain 事件方向改 MTE3_MTE2,修复阶段池跨 tile 的 MTE3 读被 MTE2 写复写; - 修正 NDHWC 前向 gather 级联降级条件为内层维度口径、BigC 路径 argmax 坐标与批偏移; - 补回 NCDHW MaxPool3DGradNCDHWTilingHelper::IsMeetUBSize 定义,修复运行期 undefined symbol(vtable 缺失)。 ### 4. UB 与流水优化(本次联调) - NDHWC 小 kernel:pad 计算缓冲 inputCalcBuff_ 由独立分配改为**复用 forwardBufPool_**,把 UB 让给更大 tile(别名由现有 Mte3Drain→ForwardCopyIn→DeQue 链覆盖,未新增同步); - 删除 Forward() pad 路径一处被后续排空覆盖的**冗余 V_MTE2** 排空; - MAX_INT32 魔法数改用标准库 INT32_MAX 并删除重复定义,向仓库主流写法对齐。 ### 5. 测试 - 新增 NDHWC tiling 单测:test_max_pool3d_grad_ndhwc_tiling.cpp、test_max_pool3d_grad_ndhwc_big_tiling.cpp; - 新增 ST 用例集 tests/st/arch35/ttk_kernel_max_pool3d_grad_st.csv(覆盖 NDHWC/NCDHW、fp16/bf16/fp32、各 padding、边界与特殊值,维度/总量控制在 uint32 内、大值分布到 N/C/D/H/W)。 - 白盒用例、门槛用例、冒烟测试通过 ### 方法说明 NDHWC 与 NCDHW 走各自模板实例化,公共 tiling 逻辑下沉到 pool_grad_common;对外 aclnn/算子接口与语义不变,data_format 新增 NDHWC 分支。 ## 关联的Issue [#6242](https://gitcode.com/cann/ops-nn/issues/6242) ## 测试 - 编译门禁:bash build.sh --soc=ascend950 --ops=max_pool3d_grad 通过(host tiling + device kernel 均编译)。 - 链接检查:nm 确认 libophost_nn.so 无未定义 MaxPool3DGradNCDHWTilingHelper vtable 符号。 - 单测:test_max_pool3d_grad_ndhwc_tiling.cpp / ..._big_tiling.cpp(tiling 结果、核分配/尾块、UB 预算)。 - 系统测试:ttk_kernel_max_pool3d_grad_st.csv,与 numpy/torch golden 对拍(含 -inf/NaN/tie/±inf、pad、tile 边界)。 - 代码规范:pre-commit(clang-format / trailing-whitespace / OAT)通过。 - 待补充:真机/仿真跑特殊值(NaN、NaN 后更大值、多 tie、全 ±inf)验证 NDHWC 与 SIMT 路径 argmax 一致(Reg::Max 的 NaN 语义需实测确认)。 ## 文档更新 - 新增 pooling/max_pool3d_grad/docs/PR_ISSUE_max_pool3d_grad.md(本文件)。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9788 | 15 天前 | |
fix(pooling): 消除 VF scope 内结构体参数访问,修复 Ascend950 VF stack 波动 Co-authored-by: qq_52056150<wangshuo179@huawei.com> # message auto-generated for no-merge-commit merge: !11396 merge fix/pooling-vf-scope-param-struct into master fix(pooling): 消除 VF scope 内结构体参数访问,修复 Ascend950 VF stack 波动 Created-by: qq_52056150 Commit-by: qq_52056150 Merged-by: cann-robot Description: ## 描述 - 回退“收编 Ascend950/arch35 Kernel 重复实现”在 pooling 侧引入的结构体参数访问,恢复局部变量推导,消除 -Wcce-compat 告警与 VF stack 上涨; - MaxPoolGradWithArgmaxV3 NCHW int64 索引路径:索引装载细化 + 主循环拆分 VF scope,修复VF stack 爆栈问题(6944B/6176B > 6144B)导致的编译失败。 ## 关联的Issue [#6326](https://gitcode.com/cann/ops-nn/issues/6326) ## 测试 本地复跑不同的数据类型用例组合均通过,-d模式下无爆栈问题,精度均通过,David冒烟无异常 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11396 | 14 天前 | |
feat(max_pool3d_grad): implement NDHWC support and optimize NCDHW tiling key Co-authored-by: liuchuangdev<liuchuang51@huawei.com> Co-authored-by: fengjiawei1<fengjiawei5@huawei.com> # message auto-generated for no-merge-commit merge: !9788 merge feat/max_pool3d_grad_optimize into master feat(max_pool3d_grad): implement NDHWC support and optimize NCDHW tiling key Created-by: liuchuangdev Commit-by: fengjiawei1;liuchuangdev Merged-by: cann-robot Description: ## 描述 为 max_pool3d_grad(arch35)新增 **NDHWC 数据格式原生支持**,并重构 **NCDHW 大 kernel**、补齐公共层与测试,同时修复若干语义/健壮性问题。 ### 1. 新增 NDHWC 支持(核心) - **设备 kernel**: - max_pool3d_grad_ndhwc_small_kernel.h / max_pool3d_grad_ndhwc_big_kernel.h:NDHWC 小/大 kernel。 - max_pool3d_grad_ndhwc_impl_gather.h:前向**重算 argmax** 的 gather,按 dhwc/hwc/wc 与 lane 容量做**多级级联降级**(MultiNc/MultiDep/MultiRow/SingleRow + BigC 的 ChunkC)。 - max_pool3d_grad_ndhwc_impl_scatter.h:反向 **Scatter 四级并发策略**(前向产出 argmax → 按梯度 scatter 回输入),含 V_MTE2/MTE3_MTE2 硬事件与阶段池 alias 排空。 - **host tiling**:max_pool3d_grad_ndhwc_small_kernel_tiling.cpp、max_pool3d_grad_ndhwc_big_kernel_tiling.{h,cpp}:NDHWC 的分轴切分(N/C/D/H/W,C 方向 cDim/cAligned 分块)、大小 kernel 阈值、UB 预算与核分配。 - **公共层**:pool_grad_common/.../pool3d_grad_ndhwc_small_kernel_tiling.{h,cpp} 新增 NDHWC 公共 tiling 基类;pool3d_grad_struct_common.h 扩展 Pool3DGradNCDHWTilingData 字段并新增 Pool3DGradNDHWCTilingData。 ### 2. NCDHW 大 kernel 重构 - 前向拷贝改 MultiCopy 多维一次拷、拷贝拆分 MultiRows/SingleRow/WithD;新增 CalcRealIndex3D 三维索引分解;反向基类提取到 impl_scatter.h 供大小 kernel 共用;tiling 侧按对齐装载量与 UB 预算封顶 inputBufferSize、NoSplit 判据改对齐口径防越界、D 维搬运合并 LoopMode 单条、maxCount_ 向量化对齐。 ### 3. 语义与健壮性修复 - SIMT/golden 语义对齐 torch(-inf 空窗丢 grad、NaN 处理、重叠覆盖不累加、bf16 位模式转换); - Mte3Drain 事件方向改 MTE3_MTE2,修复阶段池跨 tile 的 MTE3 读被 MTE2 写复写; - 修正 NDHWC 前向 gather 级联降级条件为内层维度口径、BigC 路径 argmax 坐标与批偏移; - 补回 NCDHW MaxPool3DGradNCDHWTilingHelper::IsMeetUBSize 定义,修复运行期 undefined symbol(vtable 缺失)。 ### 4. UB 与流水优化(本次联调) - NDHWC 小 kernel:pad 计算缓冲 inputCalcBuff_ 由独立分配改为**复用 forwardBufPool_**,把 UB 让给更大 tile(别名由现有 Mte3Drain→ForwardCopyIn→DeQue 链覆盖,未新增同步); - 删除 Forward() pad 路径一处被后续排空覆盖的**冗余 V_MTE2** 排空; - MAX_INT32 魔法数改用标准库 INT32_MAX 并删除重复定义,向仓库主流写法对齐。 ### 5. 测试 - 新增 NDHWC tiling 单测:test_max_pool3d_grad_ndhwc_tiling.cpp、test_max_pool3d_grad_ndhwc_big_tiling.cpp; - 新增 ST 用例集 tests/st/arch35/ttk_kernel_max_pool3d_grad_st.csv(覆盖 NDHWC/NCDHW、fp16/bf16/fp32、各 padding、边界与特殊值,维度/总量控制在 uint32 内、大值分布到 N/C/D/H/W)。 - 白盒用例、门槛用例、冒烟测试通过 ### 方法说明 NDHWC 与 NCDHW 走各自模板实例化,公共 tiling 逻辑下沉到 pool_grad_common;对外 aclnn/算子接口与语义不变,data_format 新增 NDHWC 分支。 ## 关联的Issue [#6242](https://gitcode.com/cann/ops-nn/issues/6242) ## 测试 - 编译门禁:bash build.sh --soc=ascend950 --ops=max_pool3d_grad 通过(host tiling + device kernel 均编译)。 - 链接检查:nm 确认 libophost_nn.so 无未定义 MaxPool3DGradNCDHWTilingHelper vtable 符号。 - 单测:test_max_pool3d_grad_ndhwc_tiling.cpp / ..._big_tiling.cpp(tiling 结果、核分配/尾块、UB 预算)。 - 系统测试:ttk_kernel_max_pool3d_grad_st.csv,与 numpy/torch golden 对拍(含 -inf/NaN/tie/±inf、pad、tile 边界)。 - 代码规范:pre-commit(clang-format / trailing-whitespace / OAT)通过。 - 待补充:真机/仿真跑特殊值(NaN、NaN 后更大值、多 tie、全 ±inf)验证 NDHWC 与 SIMT 路径 argmax 一致(Reg::Max 的 NaN 语义需实测确认)。 ## 文档更新 - 新增 pooling/max_pool3d_grad/docs/PR_ISSUE_max_pool3d_grad.md(本文件)。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9788 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
产品名称修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11292 merge master into master 产品名称修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 产品名称修改 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11292 | 15 天前 | |
修复ROIPooling golden三方不相等scale场景走了CPU的问题 Co-authored-by: m0_46386992<wanghongbin19@huawei.com> # message auto-generated for no-merge-commit merge: !11367 merge ROIPooling_golden_fix2 into master 修复ROIPooling golden三方不相等scale场景走了CPU的问题 Created-by: m0_46386992 Commit-by: m0_46386992 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ROIPooling golden的三方实现,在非相等scale路径下会走到CPU实现中;因此修改golden,非相等scale路径下三方使用gpu上的小算子拼接形式完成。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6300 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> - 本地测试通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11367 | 14 天前 | |
Format update: Adjusted the license description format in all relevant files. Co-authored-by: jiangqi<jiangqi47@h-partners.com> # message auto-generated for no-merge-commit merge: !318 merge license2 into master Format update: Adjusted the license description format in all relevant files. Created-by: jiangqi2025 Commit-by: jiangqi Merged-by: turing_project1 Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!318 | 10 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 14 天前 | ||
| 15 天前 | ||
| 14 天前 | ||
| 14 天前 | ||
| 15 天前 | ||
| 14 天前 | ||
| 15 天前 | ||
| 29 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 14 天前 | ||
| 15 天前 | ||
| 16 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 14 天前 | ||
| 3 个月前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 14 天前 | ||
| 14 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 14 天前 | ||
| 14 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 14 天前 | ||
| 15 天前 | ||
| 14 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 15 天前 | ||
| 14 天前 | ||
| 10 个月前 |