inference/research
verifiedhigh · 0.85majorupdated 2026-10-03

The ROCm Triton w4a16 path asserts on GPTQ models with a non-zero-group qzeros layout

[major] format

Fields

id
gotchas/triton-w4a16-gptq-qzeros-assert
Class
format
Severity
major
Concepts
qwen3-6-27b-gptq-int4rocmtriton
Symptom
Serving GPTQ-Int4 quantized Qwen3.6-27B fails at triton_w4a16.py line 201 with an assertion on qzeros.shape == (K // group_size, N // 8). Unquantized models run fine, and two independent GPTQ-Int4 repos fail the same way (raydelossantos/Qwen3.6-27B-GPTQ-Int4, btbtyler09/Qwen3.6-27B-GPTQ-4bit) with --attention-backend TRITON_ATTN on ROCm.
Root cause
The Triton W4A16 GEMM kernel assumes a specific GPTQ qzeros layout that these checkpoints do not have. The kernel's group-size and zero-point packing assumption does not match the checkpoints' actual tensor shape.
Workaround
Select a different quantization kernel path on ROCm instead of TRITON_ATTN, or use a GPTQ export whose qzeros layout matches the kernel's expectation. Verify the checkpoint's qzeros shape against the kernel's assertion before blaming the GPU.
notes
The reporter speculates in-thread that sym-quantized models should have no qzeros so the assertion should be unreachable - that reasoning is unverified, so do not treat the 'just use sym quantization' fix as established. Labeled rocm; the CUDA path was not shown to be affected.

Notes

The reporter speculates in-thread that sym-quantized models should have no qzeros so the assertion should be unreachable - that reasoning is unverified, so do not treat the 'just use sym quantization' fix as established. Labeled rocm; the CUDA path was not shown to be affected.

Cross-references