Skip to content

Commit ec15908

Browse files
[Klaud Cold] Add glm5-fp8-h200-sglang-mtp recipe (#1480)
* Add glm5-fp8-h200-sglang-mtp recipe (MTP/EAGLE sibling of H200 GLM-5) Adds the MTP/EAGLE speculative-decoding variant of glm5-fp8-h200-sglang. TP=8, conc 4..64, ISL/OSL 1k1k + 8k1k — same search-space shape as the existing non-MTP H200 recipe. Launch script mirrors benchmarks/single_node/glm5_fp8_h200.sh and adds --speculative-algorithm EAGLE --speculative-num-steps 3 --speculative-eagle-topk 1 --speculative-num-draft-tokens 4 (matching the b200/b300 MTP siblings) plus --use-chat-template on the bench client (required for EAGLE per AGENTS.md). Doesn't pull in the NSA / trtllm-mha args from glm5_fp8_b300_mtp.sh — those backends are Blackwell-specific. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore: fill pr-link for #1480 --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 97ac477 commit ec15908

3 files changed

Lines changed: 106 additions & 0 deletions

File tree

.github/configs/nvidia-master.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3140,6 +3140,25 @@ glm5-fp8-h200-sglang:
31403140
search-space:
31413141
- { tp: 8, conc-start: 4, conc-end: 64 }
31423142

3143+
glm5-fp8-h200-sglang-mtp:
3144+
image: lmsysorg/sglang:v0.5.12-cu130
3145+
model: zai-org/GLM-5-FP8
3146+
model-prefix: glm5
3147+
runner: h200
3148+
precision: fp8
3149+
framework: sglang
3150+
multinode: false
3151+
scenarios:
3152+
fixed-seq-len:
3153+
- isl: 1024
3154+
osl: 1024
3155+
search-space:
3156+
- { tp: 8, conc-start: 4, conc-end: 64, spec-decoding: mtp }
3157+
- isl: 8192
3158+
osl: 1024
3159+
search-space:
3160+
- { tp: 8, conc-start: 4, conc-end: 64, spec-decoding: mtp }
3161+
31433162
dsr1-fp8-h200-trt:
31443163
image: nvcr.io#nvidia/tensorrt-llm/release:1.1.0rc2.post2
31453164
model: deepseek-ai/DeepSeek-R1-0528
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
#!/usr/bin/env bash
2+
3+
# GLM-5 FP8 on H200 (Hopper) with EAGLE / MTP speculative decoding.
4+
# Mirrors glm5_fp8_h200.sh but adds the speculative-* flags. We keep the
5+
# server-arg shape from the non-MTP H200 recipe (sglang defaults — no
6+
# nsa/trtllm-mha) since those backends are Blackwell-specific and not
7+
# applicable to Hopper.
8+
9+
source "$(dirname "$0")/../benchmark_lib.sh"
10+
11+
check_env_vars \
12+
MODEL \
13+
TP \
14+
CONC \
15+
ISL \
16+
OSL \
17+
RANDOM_RANGE_RATIO \
18+
RESULT_FILENAME
19+
20+
if [[ -n "$SLURM_JOB_ID" ]]; then
21+
echo "JOB $SLURM_JOB_ID running on $SLURMD_NODENAME"
22+
fi
23+
24+
nvidia-smi
25+
26+
if [[ "$MODEL" != /* ]]; then hf download "$MODEL"; fi
27+
28+
SERVER_LOG=/workspace/server.log
29+
PORT=${PORT:-8888}
30+
31+
EVAL_CONTEXT_ARGS=""
32+
if [ "${EVAL_ONLY}" = "true" ]; then
33+
setup_eval_context
34+
EVAL_CONTEXT_ARGS="--context-length $EVAL_MAX_MODEL_LEN"
35+
fi
36+
37+
start_gpu_monitor
38+
39+
set -x
40+
python3 -m sglang.launch_server \
41+
--model-path "$MODEL" \
42+
--host 0.0.0.0 \
43+
--port "$PORT" \
44+
--tp-size "$TP" \
45+
--tool-call-parser glm47 \
46+
--reasoning-parser glm45 \
47+
--mem-fraction-static 0.85 \
48+
--served-model-name glm-5-fp8 \
49+
--trust-remote-code \
50+
--speculative-algorithm EAGLE \
51+
--speculative-num-steps 3 \
52+
--speculative-eagle-topk 1 \
53+
--speculative-num-draft-tokens 4 \
54+
$EVAL_CONTEXT_ARGS > "$SERVER_LOG" 2>&1 &
55+
56+
SERVER_PID=$!
57+
58+
wait_for_server_ready --port "$PORT" --server-log "$SERVER_LOG" --server-pid "$SERVER_PID"
59+
60+
run_benchmark_serving \
61+
--model "$MODEL" \
62+
--port "$PORT" \
63+
--backend vllm \
64+
--input-len "$ISL" \
65+
--output-len "$OSL" \
66+
--random-range-ratio "$RANDOM_RANGE_RATIO" \
67+
--num-prompts $(( CONC * 10 )) \
68+
--max-concurrency "$CONC" \
69+
--result-filename "$RESULT_FILENAME" \
70+
--result-dir /workspace/ \
71+
--trust-remote-code \
72+
--use-chat-template
73+
74+
if [ "${RUN_EVAL}" = "true" ]; then
75+
export MODEL_NAME=glm-5-fp8
76+
run_eval --framework lm-eval --port "$PORT"
77+
append_lm_eval_summary
78+
fi
79+
80+
stop_gpu_monitor
81+
set +x

perf-changelog.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2717,3 +2717,9 @@
27172717
description:
27182718
- "Update SGLang image from v0.5.10-rocm720-mi30x to v0.5.12-rocm720-mi30x"
27192719
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/1426
2720+
2721+
- config-keys:
2722+
- glm5-fp8-h200-sglang-mtp
2723+
description:
2724+
- "Add MTP/EAGLE speculative-decoding sibling for glm5-fp8-h200-sglang on lmsysorg/sglang:v0.5.12-cu130"
2725+
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/1480

0 commit comments

Comments
 (0)