| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: 修复 ReduceStdV2Update 多路径精度异常 Co-authored-by: zhongheng<m202474569@hust.edu.cn> # message auto-generated for no-merge-commit merge: !4579 merge codex/reduce-std-v2-update-kernel-mask-fix into master fix: 修复 ReduceStdV2Update 多路径精度异常 Created-by: zhongheng Commit-by: zhongheng Merged-by: cann-robot Description: ## 描述 ReduceStdV2Update 的 Arch35 kernel 存在两类精度问题: - AscendC::Reg::UpdateMask 会通过引用自动更新剩余元素数,原实现又手工递减一次,导致处理超过单轮 64 个 FP32 元素时重复扣减,后续数据被跳过。 - FP16/BF16 group tail-A 路径按 FP32 而非输入 dtype 计算 cache 到 workspace 的源步长,造成部分输出读取 padding 数据并错误变为 0。 本 PR 移除 normal/empty kernel 中 UpdateMask 后的重复递减,按输入 dtype 恢复 tail-A 对齐步长,并将 GEIR 示例扩展到 128 个输入元素以覆盖跨 64 元素 mask 边界。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2593 ## 测试 - Ascend950 package 构建通过,覆盖 FP16、FP32、BF16。 - 最新 ops-test-kit e559b7f1:210/210 Golden 精度 PASS、内存越界检查 PASS、性能状态 PASS。 - 问题用例 wb_reduce_std_v2_update_0165、wb_reduce_std_v2_update_0201 定向回归 PASS。 - GEIR 方差、标准差回归 2/2 PASS。 - Host UT 9/9 PASS。 - pre-commit、clang-format、codespell、OAT 全部通过。 - 冒烟已过 ## 文档更新 不涉及对外文档更新;仅扩展 GEIR 回归示例的测试规模。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4579 | 1 个月前 |