| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(norm): split oversized headers at declaration boundaries Co-authored-by: hushenxi<shenxi780803@163.com> # message auto-generated for no-merge-commit merge: !9861 merge fix/codecheck-large-headers-v2 into master fix(norm): split oversized headers at declaration boundaries Created-by: Hushenxi111 Commit-by: hushenxi Merged-by: cann-robot Description: ## 背景 修复 CleanCode 的 C/C++ 超大头文件告警。 ## 修改内容 - 拆分 5 个超过 500 LOC 的 Norm 内核头文件,保留原文件路径、接口、类及函数实现逻辑。 - 新增同目录 *_partN.h,由原头文件在合适的声明边界处 include。 - 所有 part 文件均不关闭父头文件的 #endif。 - 所有拆分边界位于完整函数/声明之间,不从函数体中间物理切分。 - 新增文件已补齐仓库许可证头。 See merge request: cann/ops-nn!9861 | 28 天前 | |
feat(group_norm): add Ascend 950 implementation Co-authored-by: wangxun21<wangxun21@huawei.com> # message auto-generated for no-merge-commit merge: !8449 merge feat/group-norm-ascend950 into master feat(group_norm): add Ascend 950 implementation Created-by: wangxun21 Commit-by: wangxun21 Merged-by: cann-robot Description: ## 描述 新增 GroupNorm 算子的 Ascend 950 实现,包括算子定义、Host Tiling、AscendC Kernel、二进制配置及测试。 本轮修正 variance 输出数据流:在 FP32 寄存器得到最终总体方差时直接保存到已有 varianceOutTensor,再由同一数值计算 rstd。删除输出阶段 1 / rstd^2 - eps 的反算,避免 variance << eps 时的精度损失;不增加 UB、tiling 字段或 workspace,归一化与批量 GM 写回方式不变。 Empty Tensor 维持当前策略:N = 0、C > 0 时 Host 设置 blockDim = 0、workspace 0,不下发 Kernel;C = 0 或 N > 0 且空间维为 0 时由 Host 返回失败。key 50000 和独立 Empty Kernel 已删除。 ## 关联的Issue 关联Issue #4374 ## 测试 - A/B 严格 variance 精度:从 6/14 提升到 13/14;唯一未通过项为原有的大均值病态输入,修改前后误差基本一致 - A/B 性能:相邻基线几何平均变化 +1.38%,处于预设 2% 噪声阈值内 - ophost UT:17/17 PASS - opkernel simulator UT:4/4 PASS - 安装包主 TTK:8/8 正常张量 PASS;FP16/FP32及key 1100/1110/1120/1130全部覆盖 - 两条 N = 0 用例均匹配 release binary,并得到 blockDim = 0、workspace (0,) 和 key 1100;TTK Kernel模式因不接受零核显示 INVALID_TILING,GEIR复验为2/2 PASS - 定向 Kernel 真机:8/8 PASS,三路输出均为100%,内存检查全部通过 - 现行泛化 release binary:480/480 BINARY_MATCH - 用户 full 泛化集:792/792执行、精度和内存检查PASS,2376个输出精度值均为100% - GEIR完整链路:10/10 PASS - git diff --check通过,最终diff仅包含5个norm/group_norm/op_kernel/arch35/头文件 ## 文档更新 - 更新 norm/group_norm/README.md,补充 Ascend 950 产品支持、参数、约束和调用说明 - 开发设计、A/B和全面验证归档统一保存在 /home/wx00445270/ops/changwei-op-dev/groupNormFinalArchive/,不提交到代码仓 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8449 | 1 个月前 | |
feat(group_norm): add Ascend 950 implementation Co-authored-by: wangxun21<wangxun21@huawei.com> # message auto-generated for no-merge-commit merge: !8449 merge feat/group-norm-ascend950 into master feat(group_norm): add Ascend 950 implementation Created-by: wangxun21 Commit-by: wangxun21 Merged-by: cann-robot Description: ## 描述 新增 GroupNorm 算子的 Ascend 950 实现,包括算子定义、Host Tiling、AscendC Kernel、二进制配置及测试。 本轮修正 variance 输出数据流:在 FP32 寄存器得到最终总体方差时直接保存到已有 varianceOutTensor,再由同一数值计算 rstd。删除输出阶段 1 / rstd^2 - eps 的反算,避免 variance << eps 时的精度损失;不增加 UB、tiling 字段或 workspace,归一化与批量 GM 写回方式不变。 Empty Tensor 维持当前策略:N = 0、C > 0 时 Host 设置 blockDim = 0、workspace 0,不下发 Kernel;C = 0 或 N > 0 且空间维为 0 时由 Host 返回失败。key 50000 和独立 Empty Kernel 已删除。 ## 关联的Issue 关联Issue #4374 ## 测试 - A/B 严格 variance 精度:从 6/14 提升到 13/14;唯一未通过项为原有的大均值病态输入,修改前后误差基本一致 - A/B 性能:相邻基线几何平均变化 +1.38%,处于预设 2% 噪声阈值内 - ophost UT:17/17 PASS - opkernel simulator UT:4/4 PASS - 安装包主 TTK:8/8 正常张量 PASS;FP16/FP32及key 1100/1110/1120/1130全部覆盖 - 两条 N = 0 用例均匹配 release binary,并得到 blockDim = 0、workspace (0,) 和 key 1100;TTK Kernel模式因不接受零核显示 INVALID_TILING,GEIR复验为2/2 PASS - 定向 Kernel 真机:8/8 PASS,三路输出均为100%,内存检查全部通过 - 现行泛化 release binary:480/480 BINARY_MATCH - 用户 full 泛化集:792/792执行、精度和内存检查PASS,2376个输出精度值均为100% - GEIR完整链路:10/10 PASS - git diff --check通过,最终diff仅包含5个norm/group_norm/op_kernel/arch35/头文件 ## 文档更新 - 更新 norm/group_norm/README.md,补充 Ascend 950 产品支持、参数、约束和调用说明 - 开发设计、A/B和全面验证归档统一保存在 /home/wx00445270/ops/changwei-op-dev/groupNormFinalArchive/,不提交到代码仓 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8449 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 28 天前 | ||
| 1 个月前 | ||
| 1 个月前 |