Skip to content

Keep V4.1 padded-query CUDA graph storage stable - #48

Merged
knapcio merged 1 commit into
mainfrom
fix/sglang-45301-padded-query-buffer
Oct 22, 2026
Merged

knapcio merged 1 commit into
mainfrom
fix/sglang-45301-padded-query-buffer

Conversation

@knapcio

@knapcio knapcio commented Oct 22, 2026

Copy link
Copy Markdown
Owner

What

Ports Liangsheng Yin's merged SGLang #45301 (117247ea) to the pinned V4.1 attention class split.

  • keep one TP-padded query allocation per graph metadata object
  • grow it only before capture and reuse row slices for smaller graph buckets
  • fail closed if a later shape/dtype would replace captured storage
  • add a source verifier, CPU behavior falsifier, image-build checks, changelog/watch notes, and upstream credit

The pinned tree contained the exact vulnerable behavior: replacing q_pad_buffer on every shape change. A captured decoder-tail graph could therefore retain a freed address and upstream reproduced an MMU fault after cache flush.

Validation

  • clean exact-pin staging with the complete patch train and --fuzz=0: PASS
  • staged production-source verifier + behavior falsifier: PASS
  • exact offline matrix: 132 passed, 1 expected image-only skip
  • Python/shell/diff/content-pin checks: PASS

No GPU/RDMA/TPS claim is made; model-level GPU qualification remains separate.

Upstream credit: Liangsheng Yin / hnyls2002, sgl-project/sglang#45301

@knapcio
knapcio merged commit b57b249 into main Oct 22, 2026
2 checks passed
@knapcio
knapcio deleted the fix/sglang-45301-padded-query-buffer branch October 22, 2026 12:17
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