| Files | Last commit | Last update |
|---|---|---|
fix(dynamic_mx_quant): bound packed stores to tail row strides Co-authored-by: jiaoyiming<jiaoyiming2@huawei.com> # message auto-generated for no-merge-commit merge: !11661 merge fix/dynamic-mx-quant-tail-store-mask into master fix(dynamic_mx_quant): bound packed stores to tail row strides Created-by: jiaoyiming Commit-by: jiaoyiming Merged-by: cann-robot Description: ## 描述 修复 DynamicMxQuant 非尾轴量化大尾轴优化模板中,FP16/BF16 转 FP4/FP8 时尾部输出存储覆盖下一行的问题。 原实现使用全掩码存储,部分尾部形状的写入宽度超过输出行步长。例如输入 [203, 440]、axis=-2、FP4 输出时,尾核行步长为 32B,但每次写入 64B,存在偶发精度异常风险。 本次根据输出类型及对齐后的行步长生成存储掩码,限制四条转换路径的写入范围。保持完整行的写入宽度不变,不修改 tiling、量化计算、scale 或同步逻辑。新增 8 条回归用例,覆盖两种输入类型和四种输出类型。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/6477 ## 测试 - Ascend950 完整算子包构建通过。 - 在设备 6 上执行 100 条专项用例、5 条仓库既有用例及 13 条补充回归,共 118 条。 - 覆盖尾长边界、完整行、合法舍入模式、scale_alg、blocksize,以及 FP32、小尾轴、尾量化轴和大 shape 对照。 - y、scale 均使用二进制一致性比较:115 条精度通过,全部内存检查通过。 - 其余 3 条精度失败已使用相同输入对照未修改主线:两版输入、golden 和完整输出逐字节一致,确认不是本次修改引入。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 使用 AI Agent 辅助进行问题分析、代码修改、回归用例编写及构建验证。 See merge request: cann/ops-nn!11661 | 1 month ago |