| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[Feature][ops]Restrict FIA to MindIE-SD FP8 per-block path Co-authored-by: HAAZZZEEEE<wang-taicheng@qq.com> # message auto-generated for no-merge-commit merge: !439 merge restrict_fp8_path into dev [Feature][ops]Restrict FIA to MindIE-SD FP8 per-block path Created-by: HAAZZZEEEE Commit-by: HAAZZZEEEE Merged-by: ascend-robot Description: # Which issue(s) this PR fixes or accomplishes Fixes [#198](https://gitcode.com/Ascend/MindIE-SD/issues/198) # Purpose 目前EagleFusedInferAttentionScore编译包含的tiling key太多,导致ci编译时间裂化至3h+。 收口 EagleFusedInferAttentionScore 的运行时能力范围,只放行 MindIE-SD 所需的 FP8 E4M3FN per-block 路径,拒绝已删除的历史能力(noquant、anti-quant、INT8、HIFLOAT8、MXFP8、PA、mask、rope、prefix、sparse 等)。 具体改动: - **第一重 guard(host checker 入口)**:新增 FIAChecker::CheckMindIESDFp8PerblockScope,在 Process() 入口拦截非 FP8 per-block 的输入,拒绝 noquant / anti-quant / INT8 / HIFLOAT8 / MXFP8 / 非 7-7-7 quant mode / 非 BNSD/BSH/BSND/NTD layout / 非 D64/D128 / PA / mask / rope / prefix / sparse 等。 - **第二重 guard(tiling key 兜底)**:新增 FusedInferAttentionScoreTilingImpl::CheckMindIESDFp8PerblockTilingKey,在 GenTilingKey 最终 SetTilingKey 前再次校验,只放行 BNSD/BSH/NTD layout + D64/D128 + per-block quant + 无 mask/rope/PSE/PA/FD/prefix/S1 split 的 tiling key。 - **dequant checker 收口**:从 CheckDataTypeSupportFullquant 的全量 dtype 支持列表中移除 INT8 和 HIFLOAT8,只保留 (FLOAT8_E4M3FN, FLOAT8_E4M3FN, FLOAT16/BF16)。 - **tiling 模板收口**:删除 fused_infer_attention_score_template_tiling_key.h(2394 行),该文件包含了已废弃的 noquant、anti-quant、MLA、GQA、MXFP8 等历史 tiling key 模板。 - **CSV 用例刷新**:用收口后的 278 个 tiling UT case(277 FAILED + 1 SUCCESS)替换旧 CSV,旧 CSV 中标记为 SUCCESS 但能力已删除的 case 全部改为 FAILED。 - **Python 测试加强**:将 FP8 per-block NPU pytest 从 FP16 直调改为 fa_block_quant_preprocess 构造真实 FP8 E4M3FN per-block Q/K/V,新增 BF16 输出和 D64 case。 # Test Plan - 950/A5 环境: - bash tests/ops/eagle_fused_infer_attention_score/run_eagle_fia_arch35_ut.sh 完整运行,确认 277 个 FAILED case 均被 guard 正确拦截、1 个 SUCCESS case 通过。 - pytest tests/ops/fused_infer_attention_score/test_fused_infer_attention_score_v2.py -v 运行 FP8 per-block NPU cases。 # Test Report pass CI时间恢复到算子迁移前。(https://gitcode.com/Ascend/MindIE-SD/pull/407) See merge request: Ascend/MindIE-SD!439 | 1 个月前 | |
[Feature][ops]Restrict FIA to MindIE-SD FP8 per-block path Co-authored-by: HAAZZZEEEE<wang-taicheng@qq.com> # message auto-generated for no-merge-commit merge: !439 merge restrict_fp8_path into dev [Feature][ops]Restrict FIA to MindIE-SD FP8 per-block path Created-by: HAAZZZEEEE Commit-by: HAAZZZEEEE Merged-by: ascend-robot Description: # Which issue(s) this PR fixes or accomplishes Fixes [#198](https://gitcode.com/Ascend/MindIE-SD/issues/198) # Purpose 目前EagleFusedInferAttentionScore编译包含的tiling key太多,导致ci编译时间裂化至3h+。 收口 EagleFusedInferAttentionScore 的运行时能力范围,只放行 MindIE-SD 所需的 FP8 E4M3FN per-block 路径,拒绝已删除的历史能力(noquant、anti-quant、INT8、HIFLOAT8、MXFP8、PA、mask、rope、prefix、sparse 等)。 具体改动: - **第一重 guard(host checker 入口)**:新增 FIAChecker::CheckMindIESDFp8PerblockScope,在 Process() 入口拦截非 FP8 per-block 的输入,拒绝 noquant / anti-quant / INT8 / HIFLOAT8 / MXFP8 / 非 7-7-7 quant mode / 非 BNSD/BSH/BSND/NTD layout / 非 D64/D128 / PA / mask / rope / prefix / sparse 等。 - **第二重 guard(tiling key 兜底)**:新增 FusedInferAttentionScoreTilingImpl::CheckMindIESDFp8PerblockTilingKey,在 GenTilingKey 最终 SetTilingKey 前再次校验,只放行 BNSD/BSH/NTD layout + D64/D128 + per-block quant + 无 mask/rope/PSE/PA/FD/prefix/S1 split 的 tiling key。 - **dequant checker 收口**:从 CheckDataTypeSupportFullquant 的全量 dtype 支持列表中移除 INT8 和 HIFLOAT8,只保留 (FLOAT8_E4M3FN, FLOAT8_E4M3FN, FLOAT16/BF16)。 - **tiling 模板收口**:删除 fused_infer_attention_score_template_tiling_key.h(2394 行),该文件包含了已废弃的 noquant、anti-quant、MLA、GQA、MXFP8 等历史 tiling key 模板。 - **CSV 用例刷新**:用收口后的 278 个 tiling UT case(277 FAILED + 1 SUCCESS)替换旧 CSV,旧 CSV 中标记为 SUCCESS 但能力已删除的 case 全部改为 FAILED。 - **Python 测试加强**:将 FP8 per-block NPU pytest 从 FP16 直调改为 fa_block_quant_preprocess 构造真实 FP8 E4M3FN per-block Q/K/V,新增 BF16 输出和 D64 case。 # Test Plan - 950/A5 环境: - bash tests/ops/eagle_fused_infer_attention_score/run_eagle_fia_arch35_ut.sh 完整运行,确认 277 个 FAILED case 均被 guard 正确拦截、1 个 SUCCESS case 通过。 - pytest tests/ops/fused_infer_attention_score/test_fused_infer_attention_score_v2.py -v 运行 FP8 per-block NPU cases。 # Test Report pass CI时间恢复到算子迁移前。(https://gitcode.com/Ascend/MindIE-SD/pull/407) See merge request: Ascend/MindIE-SD!439 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 |