Skip to content

fix(hcu): avoid gfx936 LightOp FP8 MQA zero logits - #51

Open
alexanderbin123 wants to merge 2 commits into
v0.25.1from
fix/gfx936-mqa-logits
Open

alexanderbin123 wants to merge 2 commits into
v0.25.1from
fix/gfx936-mqa-logits

Conversation

@alexanderbin123

Copy link
Copy Markdown
Contributor

Summary

  • Prefer the validated AITER Triton fp8_mqa_logits kernel when available.
  • Keep the native LightOp FP8 path on gfx938.
  • On gfx936, use BF16 Q/K with kv_scale=None when the AITER module is unavailable, avoiding LightOp 0.6.0's all-zero FP8 result.
  • Keep paged fp8_ds_mla handling unchanged.

Validation

  • python -m py_compile vllm_hcu/v1/attention/ops/rocm_aiter_mla_sparse.py tests/runtime_patch/test_lightop_attention_api.py
  • pytest -q tests/runtime_patch/test_lightop_attention_api.py tests/runtime_patch/test_sparse_indexer_loading.py tests/runtime_patch/test_lightop_categorized_api.py
    • 33 passed
  • gfx936 live BF16 fallback numerical check: max absolute error 0.10995, mean absolute error 0.01322 against BF16 reference.
  • gfx936 live AITER FP8 check: max absolute error 0.09244, mean absolute error 0.01538 against BF16 reference.

🤖 Generated with Claude Code

alexanderbin123 and others added 2 commits September 2, 2026 21:19
Use the validated AITER Triton FP8 MQA kernel when available and avoid the LightOp 0.6.0 FP8 zero-logit path on gfx936. Keep gfx938 native LightOp behavior and add dispatch contract coverage.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant