| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
WeightQuantPreprocess增加mm分支对bias为1维的支持 Co-authored-by: renzetao<renzetao2@huawei.com> # message auto-generated for no-merge-commit merge: !4233 merge weight_quant_preprocess_2 into master WeightQuantPreprocess增加mm分支对bias为1维的支持 Created-by: renzetao Commit-by: renzetao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> WeightQuantPreprocess增加mm分支对bias为1维的支持 此 PR 主要扩展了 weight_quant_preprocess 算子在非 GMM(即 MM)分支下对 biasOptional 输入形状的校验逻辑,使其支持 1 维 bias(形状为 (n)),同时保持对原有 2 维 bias(形状为 (1, n))的兼容。GMM 分支则仍严格限定 bias 必须为 2 维。相应更新了单元测试用例,补充了 1 维 bias 的正常、异常以及 GMM 场景下的形状非法用例。 CheckBiasOptionalViewShape 校验逻辑重构: 在 weight_quant_preprocess_registry.cpp 中,将 bias 必须为 2 维的检查移入 isGmm 分支内;非 GMM 分支新增对 1 维和 2 维 bias 的分别校验——1 维时要求 biasViewShape.GetDim(IDX_0) == n,2 维时要求 (1, n),并更新了对应的错误提示信息。 注册表注释更新: NPU_DATA_FLOW_REGISTRY 中 CheckBiasOptionalViewShape<false> 的注释从 "bias shape 要求 (1, n)" 改为 "bias shape 要求 (n) 或 (1, n)",以反映新的校验规则。 新增正常场景测试用例: 在 test_aclnn_weight_quant_preprocess_l2.cpp 的 mmNormalCases 中新增 ascend950_test_MM_MX_A8W4_bias_1d(1 维 bias {128},期望成功)和 ascend950_test_MM_MX_A8W4_bias_2d(2 维 bias {1, 128},期望成功)。 新增异常场景测试用例: 在 casesParams 中新增 ascend950_test_bias_1d_shape_invalid(1 维 bias 形状 {127} 与 n=128 不匹配,期望 ACLNN_ERR_PARAM_INVALID)和 ascend950_test_GMM_bias_1d_shape_invalid(GMM 场景传入 1 维 bias {128},期望校验失败)。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2323](https://gitcode.com/cann/ops-math/issues/2323) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地验证用例56个全部通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4233 | 2 个月前 |