Skip to content

[Perf][GLM-5.3] Enable GLM low-latency BF16 GEMM on SM100 - #64481

Merged
gau-nernst merged 2 commits into
vllm-project:mainfrom
namgyu-yun:perf/glm52-sm100-low-latency-gemm
Oct 29, 2026
Merged

gau-nernst merged 2 commits into
vllm-project:mainfrom
namgyu-yun:perf/glm52-sm100-low-latency-gemm

Conversation

@namgyu-yun

@namgyu-yun namgyu-yun commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Overview

Adds a measured B200 (SM100) table for the GLM-5.2/5.3 low-latency BF16 decode GEMM; SM100 used cuBLAS. Related: #59822.

Claims

  • 1.14–2.35x over cuBLAS per projection at M ≤ 8.

Validation

pytest tests/kernels/test_bf16_skinny_gemm.py -k "glm or dsv3"   → 84 passed, 180 skipped (B200)
run_glm52_plan vs F.linear, every routed cell (CUPTI, CUDA graph) → 40 cells, all ≥ 1.05x cold and hot L2
projection (N, K) routed M M=1 cuBLAS → table (µs, cold L2) speedup over routed M
q_a + kv_a (2624, 6144) 1–4, 6, 8 12.00 → 8.48 1.21–1.42x
q_b TP8 (2048, 2048) 1–4, 6, 8 6.02 → 4.06 1.46–2.00x
q_b TP4 / indexer wq_b (4096, 2048) 1–4 6.94 → 5.76 1.15–1.29x
o_proj TP8 (6144, 2048) 1–2 8.03 → 6.91 1.14–1.16x
indexer wk + weights (160, 6144) 1–4, 6, 8 6.08 → 2.62 1.48–2.35x
shared gate_up TP8 (512, 6144) 1–4, 6, 8 8.00 → 4.26 1.37–1.88x
shared gate_up TP4 (1024, 6144) 1–4, 6, 8 9.09 → 5.22 1.16–1.74x
MTP eh_proj (6144, 12288) 1–4 37.63 → 26.24 1.31–1.43x

Details

Cells kept only if ≥ 5 % faster on cold and hot L2; others stay on cuBLAS. No e2e (needs 4–8 B200).


Pull Request Checklist
  • Used /pr-checklist.

  • AI-assisted.

  • Design Fit:

  • Testing and Validation:

  • Code Quality and Style:

  • Pull Request Contents:

Signed-off-by: namgyu-youn <namgyu.dev@gmail.com>

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@mergify mergify Bot added deepseek Related to DeepSeek models glm labels Oct 29, 2026
@namgyu-yun

Copy link
Copy Markdown
Contributor Author

@gau-nernst could you check this PR as well? it's same SM100 change as #64482, for GLM model

@gau-nernst gau-nernst added the ready ONLY add when PR is ready to merge/full CI is needed label Oct 29, 2026
@github-actions

Copy link
Copy Markdown

✅ @namgyu-youn, CI is now available for this PR.

  • /ci run starts upstream CI; /amd-ci run starts AMD CI only.
  • Run commands test your branch with every commit currently on its upstream target branch. If it is behind, the bot merges the target branch into it first (pull before pushing again). Append --allow-stale to a run command to test an outdated branch as is, at your own risk.
  • /ci retry retries failed jobs in the CI build for the current PR head. If the current head has no CI build, it starts a new CI build for the current head containing only jobs that failed in the latest earlier CI build for this PR.
  • /amd-ci retry retries failed jobs in AMD CI for the current PR head. Use /amd-ci run when the current head has no AMD CI build.
  • /ci cancel cancels scheduled or running CI builds for this PR branch; /amd-ci cancel does the same for AMD CI only.

@namgyu-yun

Copy link
Copy Markdown
Contributor Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #98250 for commit 6364150e39c9.

ℹ️ This PR is 2 commits behind upstream main. Merged upstream main into this branch as 6364150e39c9 before starting CI. Pull the branch before pushing more changes.

@gau-nernst
gau-nernst enabled auto-merge (squash) October 29, 2026 11:13
@gau-nernst
gau-nernst merged commit 1ca0dfb into vllm-project:main Oct 29, 2026
85 checks passed
@namgyu-yun
namgyu-yun deleted the perf/glm52-sm100-low-latency-gemm branch October 29, 2026 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

deepseek Related to DeepSeek models glm ready ONLY add when PR is ready to merge/full CI is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants