Skip to content

Add packed INT4 GPTQ decode and page sizes 64 and 128 - #560

Open
krisclarkdev wants to merge 7 commits into
sgl-project:mainfrom
krisclarkdev:gptq-page-size
Open

krisclarkdev wants to merge 7 commits into
sgl-project:mainfrom
krisclarkdev:gptq-page-size

Conversation

@krisclarkdev

@krisclarkdev krisclarkdev commented Oct 17, 2026 •

Copy link
Copy Markdown

Summary

  • Packed INT4 GPTQ decode for the Qwen3.8-27B hybrid model on Intel XPU, including the page-1 decode graph path.
  • Page sizes 64 and 128 now start. Gated DeltaNet uses extra_buffer so the mamba cache no longer rejects every page size except 1, and the XPU paged attention kernel captures the decode graph.
  • Spec Kit plans are not in this branch. .specify/ and specs/ stay ignored.

This branch contains the work in #554 plus the page-size change. Merging this covers that pull request.

llama-benchy 0.4.0 on node hal, model Qwen3.8-27B-TURBO-DF735-882-NM-DAU-GPTQ-Int4-g128-tuned, one run, concurrency 1, speculative decoding off:

page size pp512 tg128 peak
64 36.38 t/s 21.24 t/s 22.00
128 36.40 t/s 21.25 t/s 22.00

The configured context length is 131072. The KV pool holds 81152 tokens, so one request cannot fill that window. The XPU paged decode kernel accepts 64 and 128 only.

Test plan

  • Page size 64 server starts, decode graph captures, llama-benchy completes
  • Page size 128 server starts, decode graph captures, llama-benchy completes
  • Branch diff contains no .specify/ or specs/ files
  • Confirm a short completion through the page-128 deployment still returns text

Made with Cursor

krisclarkdev and others added 5 commits October 17, 2026 02:34
…e-1 decode graph path that reached the measured rate.

Co-authored-by: Cursor <cursoragent@cursor.com>
Streaming chat completions accept return_token_ids so llama-benchy can time a generate, and the server stays on the page-1 decode path without speculative decoding.

Co-authored-by: Cursor <cursoragent@cursor.com>
.specify/ and specs/ are local notes and do not belong in the GPTQ pull request.

Co-authored-by: Cursor <cursoragent@cursor.com>
The no_buffer mamba cache rejects every page size except 1, so paged decode never started. extra_buffer is now selected for the Intel XPU linear backend, and the fused GDN kernel keeps the live state.

Co-authored-by: Cursor <cursoragent@cursor.com>
Spec Kit plans stay untracked. The ignore file no longer lists editors this repo does not use.

Co-authored-by: Cursor <cursoragent@cursor.com>
Wide layers share four columns and long-K layers keep the two-column pipeline. Vocabulary rows stay in one pipelined pass, and Gated DeltaNet verify uses the SYCL ops the base wheel does not ship.

Co-authored-by: Cursor <cursoragent@cursor.com>
Speed up M=4 packed GEMV and multi-row lm_head for NEXTN

This branch has not been deployed

No deployments
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