Skip to content

perf(glm5next): streamline B12X sparse decode metadata - #550

Closed
voipmonitor wants to merge 3 commits into
local-inference-lab:dev/jovian-judgementfrom
voipmonitor:port/jj-glm53-sparse-decode-20260901
Closed

voipmonitor wants to merge 3 commits into
local-inference-lab:dev/jovian-judgementfrom
voipmonitor:port/jj-glm53-sparse-decode-20260901

Conversation

@voipmonitor

Copy link
Copy Markdown

Purpose

Remove redundant initialization and metadata work from the B12X sparse-decode
path used by GLM-5.3.

Behavior

  • Skip output clears only when the fused B12X selector overwrites the complete
    live output.
  • Build GLM C4 decode metadata in one operation.
  • Emit physical cache-row indices directly for decode-context parallelism one.
  • Preserve the existing mixed-batch, prefill, complete-KV gather, padded-graph,
    and decode-context-parallel behavior.

Replacement scope and attribution

This pull request replaces #542. Pull request #542 targets
perf/glm53-mtp-selective-prefill, so merging it would also merge unrelated
prerequisite history. This branch starts directly from
dev/jovian-judgement and contains only the three focused commits.

The three implementation commits retain MadeBy561 as their author and retain
their OpenAI Codex co-author trailers.

The duplicate-work search found #542 as the only local pull request implementing
this exact B12X metadata path. This pull request is its mergeable port, not an
independent competing implementation.

Validation

Status: qualified as part of the GLM-5.3 TP4 runtime stack.

  • An independent-merge simulation with the scheduler, router, and Walsh-Hadamard
    pull requests produces the same vLLM runtime source as
    voipmonitor/vllm:jovian-judgement-community-20260831-r10.
  • The combined device-free vLLM suite reports 75 passed and 35 skipped.
  • Four scheduler cadence tests pass with a CUDA device visible.
  • Twenty GLM C4 metadata, physical-index expansion, Walsh-Hadamard, and graph
    replay cases pass on an NVIDIA RTX PRO 6000 Blackwell GPU.
  • Ruff and git diff --check pass for the complete vLLM pull-request stack.
  • The qualified container passed no-speculation, three-token multi-token
    prediction, and seven-token DFlash2 serving at tensor parallelism four and
    decode context parallelism one without a decode or 32k-prefill regression.

AI assistance

OpenAI Codex assisted with port construction, conflict analysis, and validation.
Martin Vít directed the port, reviewed its intended behavior and evidence, and
remains responsible for the change.

MadeBy561 and others added 3 commits September 1, 2026 00:51
Let the B12X fused paged route own output padding and bind the plan capacity for its unused active-width scalar. Keep explicit output initialization on every non-fused route.

Co-authored-by: OpenAI Codex <codex@openai.com>
(cherry picked from commit d18ed53)
Co-authored-by: OpenAI Codex <codex@openai.com>
(cherry picked from commit 2ae5b58)
Co-authored-by: OpenAI Codex <codex@openai.com>
(cherry picked from commit adb69ea)
@voipmonitor

Copy link
Copy Markdown
Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 39 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: bf40818b-27a3-4c61-8449-c7051f387716

📥 Commits

Reviewing files that changed from the base of the PR and between 81cb241 and 52006e8.

📒 Files selected for processing (6)
  • tests/models/test_glm5next_pooled_indexer.py
  • tests/v1/attention/test_b12x_sparse_mla_api.py
  • vllm/models/deepseek_v4/nvidia/b12x_indexer.py
  • vllm/models/glm5next/nvidia/ops/glm_kpool.py
  • vllm/models/glm5next/nvidia/pooled_indexer.py
  • vllm/v1/attention/backends/mla/b12x_mla_sparse.py

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@voipmonitor

Copy link
Copy Markdown
Author

Status: superseded without merge.

vLLM dev/jovian-judgement commit 9c4dd054 and B12X master commit
1ec21504 implement the same three performance properties as this pull
request: complete selector-output overwrite, fused four-token decode metadata
preparation, and direct production of physical cache slots. The paired
implementation places the physical-slot expansion kernel behind a public B12X
API and adds cache-stride, page-bound, output-contract, and CUDA-graph coverage.

MadeBy561 remains credited for the original optimization implemented in #542
and ported here. Luke Alonso authored the destination-branch ownership and
contract rework.

A matched TP4/DCP1 comparison on four RTX PRO 6000 Blackwell Workstation
Edition GPUs found no performance regression:

  • no-speculation C1: 167.97 to 168.06 output tok/s;
  • no-speculation C8: 788.03 to 782.13 output tok/s, within observed run variance;
  • MTP:3 C1/C8: 107.03/393.16 to 110.50/403.50 target forwards/s;
  • DFlash2:7 C1/C8: 93.95/307.01 to 94.18/309.52 target forwards/s;
  • 32k no-speculation prefill: 15,117 to 15,131 prompt tok/s.

The paired implementation passed 24 focused GPU correctness and CUDA-graph
tests. Issue #500 records the complete qualification conditions and remaining
merge list.

@voipmonitor voipmonitor closed this Sep 1, 2026
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.

2 participants