Skip to content

Commit 608b043

Browse files
authored
GLM-5.2 NVFP4 B300 SGLang high-throughput arm to DEP8, cap conc at 64 (#2281)
1 parent a8d151d commit 608b043

3 files changed

Lines changed: 19 additions & 10 deletions

File tree

benchmarks/single_node/agentic/glm5.2_fp4_b300_sglang.sh

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ set -x
88
# (https://docs.sglang.io/cookbook/autoregressive/GLM/GLM-5.2), STP only:
99
# the cookbook's EAGLE MTP variants are intentionally not wired up yet.
1010
# DP_ATTENTION=false -> low-latency arm (TP8, fp8 KV, cutedsl bf16 GEMM)
11-
# DP_ATTENTION=true -> high-throughput arm (TP8 + DP8 attention-DP)
11+
# DP_ATTENTION=true -> high-throughput DEP arm (TP8 + DP8 attention-DP +
12+
# EP_SIZE expert-parallel MoE via --ep-size)
1213
#
1314
# Required env vars:
1415
# MODEL, TP, CONC, KV_OFFLOADING, TOTAL_CPU_DRAM_GB, RESULT_DIR, DURATION,
@@ -105,11 +106,6 @@ if [ "$DP_ATTENTION" = "true" ]; then
105106
# while KV usage sat at ~0.01). Use the cookbook's own dp8 lever from
106107
# the B200 cells (32768 = ~4096/rank).
107108
CHUNKED_PREFILL_SIZE=32768
108-
# At conc 512 the saturation working set outlives the default 1800s
109-
# warmup drain grace: the drain converges healthily (~0.45 req/s, zero
110-
# errors) but needs ~2500s end to end. 3600 is a maximum wait, not a
111-
# fixed sleep — lower-conc DPA points still finish as fast as they drain.
112-
export AGENTIC_WARMUP_GRACE_PERIOD=3600
113109
PARALLEL_ARGS+=(
114110
--dp "$TP"
115111
--enable-dp-attention

configs/nvidia-master.yaml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7858,9 +7858,10 @@ qwen3.5-fp8-gb300-dynamo-sglang:
78587858
# single-node recipes (https://docs.sglang.io/cookbook/autoregressive/GLM/GLM-5.2),
78597859
# STP only (the cookbook's EAGLE MTP variants are deferred). The TP8 arm is the
78607860
# cookbook low-latency recipe (fp8 KV, cutedsl bf16 GEMM) and covers the
7861-
# interactivity end; the TP8/DP8 attention-DP arm is the cookbook
7862-
# high-throughput recipe behind sglang-router consistent hashing for session
7863-
# affinity. Conc lists are disjoint between arms so exp-names stay unique.
7861+
# interactivity end; the TP8/DP8/EP8 DEP arm (attention-DP + expert-parallel
7862+
# MoE) is the cookbook high-throughput recipe behind sglang-router consistent
7863+
# hashing for session affinity. Conc lists are disjoint between arms so
7864+
# exp-names stay unique.
78647865
glm5.2-fp4-b300-sglang-agentic:
78657866
image: lmsysorg/sglang:v0.5.15.post1-cu130
78667867
model: nvidia/GLM-5.2-NVFP4
@@ -7874,4 +7875,8 @@ glm5.2-fp4-b300-sglang-agentic:
78747875
- dram-utilization: 0.80
78757876
search-space:
78767877
- { tp: 8, kv-offloading: dram, kv-offload-backend: { name: hicache }, conc-list: [1, 2, 4, 8, 16, 32] }
7877-
- { tp: 8, dp-attn: true, kv-offloading: dram, kv-offload-backend: { name: hicache }, conc-list: [48, 64, 96, 128, 192, 256, 512], router: { name: sglang-router, version: "0.3.2" } }
7878+
# DEP (attention-DP + EP8 expert-parallel MoE) throughput arm at conc 48 — the
7879+
# frontier peak (163 tok/s/gpu out, ttft 2.8s). conc >=64 overflows the HBM+host
7880+
# radix cache (GPU hit 0.93->0.57 at 48->64) and thrashes on re-prefill, so it is
7881+
# strictly dominated by conc 48 on both throughput and interactivity.
7882+
- { tp: 8, ep: 8, dp-attn: true, kv-offloading: dram, kv-offload-backend: { name: hicache }, conc-list: [48], router: { name: sglang-router, version: "0.3.2" } }

perf-changelog.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4974,3 +4974,11 @@
49744974
- "Run 29651235293 showed the 1M-context corpus working set outgrowing the HBM KV pool past conc 8 (TP8) / conc 64 (DP8): gpu_kv_cache_usage pinned at 1.0 and the radix hit rate collapsed from a ~0.97 theoretical ceiling to 0.04-0.06, so every post-knee turn re-prefilled its full history and throughput fell together with interactivity"
49754975
- "HiCache spills evicted prefixes to host DRAM and restores them at C2C bandwidth instead of recomputing; sizing follows the qwen3.5-fp8-b300-sglang-agentic-hicache recipe (GLM-5.2 is plain GQA: one host pool per rank, GB-based --hicache-size)"
49764976
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2280
4977+
4978+
- config-keys:
4979+
- glm5.2-fp4-b300-sglang-agentic
4980+
description:
4981+
- "Convert the high-throughput arm to DEP: add ep: 8 to the TP8/DP8 attention-DP arm so the MoE layers run expert-parallel across all 8 ranks (--ep-size 8) instead of TP-sharded (the arm previously left ep unset -> EP_SIZE=1). Attention stays data-parallel behind sglang-router consistent hashing; the recipe already passes --ep-size EP_SIZE unconditionally, so only the master-config search space changes"
4982+
- "DEP arm runs conc-list [48] only (was [48, 64, 96, 128, 192, 256, 512]): conc 48 is the frontier peak (163 tok/s/gpu out, ttft 2.8s); conc >=64 overflows the HBM+host radix cache (GPU hit 0.93->0.57 at 48->64) and thrashes on re-prefill, so it is strictly dominated"
4983+
- "Low-latency TP8 arm (conc [1, 2, 4, 8, 16, 32], fp8 KV + cutedsl bf16 GEMM) unchanged; DEP mirrors the proven dsv4-fp4-b300-sglang tp8/ep8/dp-attn DEP arm"
4984+
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2281

0 commit comments

Comments
 (0)