b70-optimization-lab

Gemma 4 26B Q8: Argmax Tile16 Draft q6_K Screen (No Win)

Date: 2026-07-02

Purpose

The record-stack node profile showed three MTP draft direct-argmax LM-head nodes (mtp_direct_argmax_unroll_token_0/1/2) at about 0.409 ms each. Log detail confirmed those nodes use q6_K output weights:

src0{NONE:token_embd.weight type=q6_K ne=[1024,262144,1,1]}

Source audit found these three nodes cannot be naively batched because MTP direct unroll is autoregressive: token 0 feeds draft step 1, and token 1 feeds draft step 2. Existing MUL_MAT_ARGMAX multi-column support therefore does not apply.

This screen tested the remaining low-risk knob that directly touches the single-node q6_K argmax path:

LLAMA_SYCL_MUL_MAT_ARGMAX_TILE_SUBGROUPS=16

The prior tile-subgroup negatives were mostly on the rejected verifier-fused argmax family. This run isolated the knob on the current record recipe where it mainly affects draft q6_K argmax nodes.

Command

cd /home/steve/llm-optimizations
STAMP=20260702T114204Z-argmaxtile16-short-full512-ab \
BASE_PORT=19120 \
ARGMAX_TILE_SUBGROUPS=16 \
MAX_TOKENS=512 \
CANARY_REPEATS=32 \
REALISTIC_METRIC_TOKENS=100 \
READINESS_TIMEOUT_S=900 \
repro/gemma4-26b-a4b-q8-b70/run-vdr2-argmaxtile-short-full512-ab.sh

Harness:

Evidence:

Validity

All eight lanes passed:

Candidate identity was confirmed in per-run summaries:

Results

Control medians:

Candidate medians:

Paired bootstrap:

Analyzer decision: inconclusive_positive.

Project decision: no win / do not promote. The 95% lower bound is negative, the median paired effect is effectively zero, and no candidate beat the current valid record 124.97714084813418 tok/s.

Conclusion

LLAMA_SYCL_MUL_MAT_ARGMAX_TILE_SUBGROUPS=16 is not a short-decode record candidate for the current Gemma Q8 record stack.

Together with the read-only source audit, this closes the low-risk draft q6_K MUL_MAT_ARGMAX lane:

Future q6_K draft argmax work would require a real kernel redesign, such as a new single-node q6_K top1 epilogue or dot-layout rewrite. That is not a small safe follow-up and should not be attempted unless the user explicitly chooses a deeper kernel engineering lane.

No LocalMaxxing submission was made.