| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
flat_quant golden Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !9654 merge pkg into master flat_quant golden Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 主要为 flat_quant 算子补充 golden(参考实现)测试资产及配套的精度比对工具:新增独立的 ULP 数值比对函数 numeric_ulp_compare、kernel 级 golden 实现 flat_quant_golden.py(含 MX 量化的 numpy 实现 mx_quantize、compute_mx_fp4、compute_int4 及 FlatQuantTestSpec)和 aclnn 级 golden flat_quant_aclnn_golden.py(含 aclnnFlatQuant/V2/V3 对应的 TestSpec),并顺带修正 CI 脚本中算子源码路径查找对 third_party 目录的过滤。该改动主要用于算子精度测试,不涉及业务功能本身。 主要改动 - 新增 ULP 精度比对工具:在 matmul/common/tests/st/arch35/numeric_ulp.py 中新增独立的 numeric_ulp_compare 函数,将 NPU 输出与 golden 输出转为 float32 后按元素比较绝对误差(阈值固定 1.0),并对双方同为 NaN 的情况做豁免处理,返回 pass 与 precision 结果。 - 新增 kernel golden 实现:在 matmul/flat_quant/tests/assets/flat_quant_golden.py 中新增 numpy 版 mx_quantize(支持 float4_e2m1/float4_e1m2/float8_e4m3fn/float8_e5m2 的 block 量化、多种舍入模式 rint/round/floor/ceil/trunc 及 scale_alg 0/1/2 三种 scale 算法)、按 dst_dtype 分发的 compute_mx_fp4(MXFP4 模式)与 compute_int4(INT4 模式)计算函数,以及多输出逐位置配对的 FlatQuantTestSpec,并通过 __spec__ 暴露 flat_quant 入口。 - 新增 aclnn golden 适配层:在 matmul/flat_quant/tests/assets/flat_quant_aclnn_golden.py 中新增 AclnnFlatQuantTestSpec、AclnnFlatQuantV2TestSpec(额外参数 dstTypeMax)、AclnnFlatQuantV3TestSpec(额外参数 groupListOptional、groupListType),参数名与 C API 的 camelCase 一致,golden 逻辑委托 kernel 实现,并在 __spec__ 中映射 aclnnFlatQuant、aclnnFlatQuantV2、aclnnFlatQuantV3。 - 新增输出类型映射:flat_quant_golden.py 定义 MXFP4_DST_DTYPE = 40 与 INT4 分支;flat_quant_aclnn_golden.py 通过 _GE_DTYPE_TO_DST 将 float4_e2m1/int4/int32 输出类型映射到对应量化实现,默认回退 MXFP4。 - 调整 CI 算子路径查找:在 scripts/ci/ops_st_test.sh 的 find_op_code_path 中为 find 增加 -not -path "*/third_party/*" 过滤,避免误匹配 third_party 下的同名算子目录。 ## 关联的Issue [#5549](https://gitcode.com/cann/ops-nn/issues/5549) <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 bash scripts/ci/ops_st_test.sh --soc_version=scend950 --ops=flat_quant执行验证8个用例通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9654 | 1 个月前 | |
flat_quant golden Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !9654 merge pkg into master flat_quant golden Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 主要为 flat_quant 算子补充 golden(参考实现)测试资产及配套的精度比对工具:新增独立的 ULP 数值比对函数 numeric_ulp_compare、kernel 级 golden 实现 flat_quant_golden.py(含 MX 量化的 numpy 实现 mx_quantize、compute_mx_fp4、compute_int4 及 FlatQuantTestSpec)和 aclnn 级 golden flat_quant_aclnn_golden.py(含 aclnnFlatQuant/V2/V3 对应的 TestSpec),并顺带修正 CI 脚本中算子源码路径查找对 third_party 目录的过滤。该改动主要用于算子精度测试,不涉及业务功能本身。 主要改动 - 新增 ULP 精度比对工具:在 matmul/common/tests/st/arch35/numeric_ulp.py 中新增独立的 numeric_ulp_compare 函数,将 NPU 输出与 golden 输出转为 float32 后按元素比较绝对误差(阈值固定 1.0),并对双方同为 NaN 的情况做豁免处理,返回 pass 与 precision 结果。 - 新增 kernel golden 实现:在 matmul/flat_quant/tests/assets/flat_quant_golden.py 中新增 numpy 版 mx_quantize(支持 float4_e2m1/float4_e1m2/float8_e4m3fn/float8_e5m2 的 block 量化、多种舍入模式 rint/round/floor/ceil/trunc 及 scale_alg 0/1/2 三种 scale 算法)、按 dst_dtype 分发的 compute_mx_fp4(MXFP4 模式)与 compute_int4(INT4 模式)计算函数,以及多输出逐位置配对的 FlatQuantTestSpec,并通过 __spec__ 暴露 flat_quant 入口。 - 新增 aclnn golden 适配层:在 matmul/flat_quant/tests/assets/flat_quant_aclnn_golden.py 中新增 AclnnFlatQuantTestSpec、AclnnFlatQuantV2TestSpec(额外参数 dstTypeMax)、AclnnFlatQuantV3TestSpec(额外参数 groupListOptional、groupListType),参数名与 C API 的 camelCase 一致,golden 逻辑委托 kernel 实现,并在 __spec__ 中映射 aclnnFlatQuant、aclnnFlatQuantV2、aclnnFlatQuantV3。 - 新增输出类型映射:flat_quant_golden.py 定义 MXFP4_DST_DTYPE = 40 与 INT4 分支;flat_quant_aclnn_golden.py 通过 _GE_DTYPE_TO_DST 将 float4_e2m1/int4/int32 输出类型映射到对应量化实现,默认回退 MXFP4。 - 调整 CI 算子路径查找:在 scripts/ci/ops_st_test.sh 的 find_op_code_path 中为 find 增加 -not -path "*/third_party/*" 过滤,避免误匹配 third_party 下的同名算子目录。 ## 关联的Issue [#5549](https://gitcode.com/cann/ops-nn/issues/5549) <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 bash scripts/ci/ops_st_test.sh --soc_version=scend950 --ops=flat_quant执行验证8个用例通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9654 | 1 个月前 | |
删除多余的CMakeLists Co-authored-by: wuyufei<wuyufei13@huawei.com> # message auto-generated for no-merge-commit merge: !9310 merge master into master 删除多余的CMakeLists Created-by: wuyufei Commit-by: wuyufei Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 该 PR 旨在删除工程中多余的 CMakeLists 文件,属于构建配置的清理工作。变更共涉及 5 个文件,全部为删除操作(新增 0 行、删除 77 行),未引入任何新增代码,说明这是一次纯粹的冗余构建文件清理,不影响业务逻辑与接口行为。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5423 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9310 | 1 个月前 |