mudler / mudler/vllm.cpp

GFX1100-TG200: T5a vectorizes shared Q8_K quant superblock body

Open
#2,821 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
423
Forks
53
Avg merge
20h 26m
Merged PRs (30d)
310

Description

Row: GFX1100-TG200

T5a vectorizes the QuantQ8KSBlock body in rocm_act_quant.h with 16-byte
vector loads, replacing the scalar per-element loop with a vectorized path.
This is the root-cause fix for lever-C's norm-quant fusion regression: the
scalar quant body was ~50us/launch, and T5a reduces it to <2us.

Always-on (not env-gated). Byte-identical output — the vectorization only
changes the instruction sequence, not the computed values.

A/B benchmark (interleaved, 5 pairs, Qwen3.5-4B Q4_K_M, 256 tokens)

Arm Median tok/s Delta ±stdev
T25 parent (all flags) 45.2
T5a feature (all flags) 51.4 +13.6% 0.18%

+13.6% over T25 parent. The largest single-lever improvement in the
campaign. Brings the full stack from -6.7% below baseline to +6.2% above
baseline
(51.4 vs 48.4 tok/s).

Validated by test_rocm_quant_dot (12/12 cases, 797 assertions).

FOLLOWING_AGENTS_PROTOCOL

Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:GLM-5-2 [OMP]

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in rocm_act_quant.h at the QuantQ8KSBlock body and review the existing scalar per-element loop alongside the 16-byte vector-load path described in the issue. Run test_rocm_quant_dot, confirming all 12 cases and 797 assertions pass with byte-identical output; use the supplied interleaved benchmark to verify the reported performance improvement.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend, performance
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.