Skip to content

Commit e7262bb

Browse files
[Klaud Cold] Add qwen3.5-bf16-mi325x-sglang-mtp recipe (#1483)
* Add qwen3.5-bf16-mi325x-sglang-mtp recipe Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore: fill pr-link for #1483 --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 340b88f commit e7262bb

3 files changed

Lines changed: 108 additions & 0 deletions

File tree

.github/configs/amd-master.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1800,3 +1800,22 @@ dsv4-fp4-mi355x-atom:
18001800
osl: 1024
18011801
search-space:
18021802
- { tp: 8, ep: 1, conc-start: 1, conc-end: 512 }
1803+
1804+
qwen3.5-bf16-mi325x-sglang-mtp:
1805+
image: lmsysorg/sglang:v0.5.12-rocm720-mi30x
1806+
model: Qwen/Qwen3.5-397B-A17B
1807+
model-prefix: qwen3.5
1808+
runner: mi325x
1809+
precision: bf16
1810+
framework: sglang
1811+
multinode: false
1812+
scenarios:
1813+
fixed-seq-len:
1814+
- isl: 1024
1815+
osl: 1024
1816+
search-space:
1817+
- { tp: 8, ep: 1, conc-start: 4, conc-end: 64, spec-decoding: mtp }
1818+
- isl: 8192
1819+
osl: 1024
1820+
search-space:
1821+
- { tp: 8, ep: 1, conc-start: 4, conc-end: 64, spec-decoding: mtp }
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
#!/usr/bin/env bash
2+
3+
source "$(dirname "$0")/../benchmark_lib.sh"
4+
5+
check_env_vars \
6+
MODEL \
7+
TP \
8+
CONC \
9+
ISL \
10+
OSL \
11+
RANDOM_RANGE_RATIO \
12+
RESULT_FILENAME
13+
EP_SIZE \
14+
15+
if [[ -n "$SLURM_JOB_ID" ]]; then
16+
echo "JOB $SLURM_JOB_ID running on $SLURMD_NODENAME"
17+
fi
18+
19+
if [[ "$MODEL" != /* ]]; then hf download "$MODEL"; fi
20+
21+
SERVER_LOG=/workspace/server.log
22+
PORT=${PORT:-8888}
23+
CONTEXT_LENGTH=$((ISL + OSL + 20))
24+
MAX_PREFILL_TOKENS=32768
25+
26+
EVAL_CONTEXT_ARGS=""
27+
if [ "${EVAL_ONLY}" = "true" ]; then
28+
setup_eval_context
29+
EVAL_CONTEXT_ARGS="--context-length $EVAL_MAX_MODEL_LEN"
30+
else EVAL_CONTEXT_ARGS="--context-length $CONTEXT_LENGTH"
31+
fi
32+
# Start GPU monitoring (power, temperature, clocks every second)
33+
start_gpu_monitor
34+
35+
# following Andy Luo linkedin's recipe https://www.linkedin.com/feed/update/urn:li:activity:7429203734389280768/
36+
python3 -m sglang.launch_server \
37+
--attention-backend aiter \
38+
--model-path $MODEL \
39+
--host=0.0.0.0 \
40+
--port $PORT \
41+
--tensor-parallel-size $TP \
42+
--ep-size $EP_SIZE \
43+
--trust-remote-code \
44+
--tokenizer-worker-num 6 \
45+
--enable-aiter-allreduce-fusion \
46+
--cuda-graph-max-bs $CONC \
47+
--disable-radix-cache \
48+
--max-prefill-tokens $MAX_PREFILL_TOKENS \
49+
--scheduler-recv-interval 30 \
50+
--speculative-algorithm EAGLE \
51+
--speculative-num-steps 3 \
52+
--speculative-eagle-topk 1 \
53+
--speculative-num-draft-tokens 4 \
54+
--mem-fraction-static 0.75 $EVAL_CONTEXT_ARGS > $SERVER_LOG 2>&1 &
55+
56+
SERVER_PID=$!
57+
58+
# Wait for server to be ready
59+
wait_for_server_ready --port "$PORT" --server-log "$SERVER_LOG" --server-pid "$SERVER_PID"
60+
61+
run_benchmark_serving \
62+
--model "$MODEL" \
63+
--port "$PORT" \
64+
--backend vllm \
65+
--input-len "$ISL" \
66+
--output-len "$OSL" \
67+
--random-range-ratio "$RANDOM_RANGE_RATIO" \
68+
--num-prompts "$((CONC * 10))" \
69+
--max-concurrency "$CONC" \
70+
--result-filename "$RESULT_FILENAME" \
71+
EP_SIZE \
72+
--result-dir /workspace/ \
73+
--use-chat-template
74+
75+
# After throughput, run evaluation only if RUN_EVAL is true
76+
if [ "${RUN_EVAL}" = "true" ]; then
77+
run_eval --framework lm-eval --port "$PORT"
78+
append_lm_eval_summary
79+
fi
80+
81+
# Stop GPU monitoring
82+
stop_gpu_monitor
83+
set +x

perf-changelog.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2723,3 +2723,9 @@
27232723
description:
27242724
- "Add MTP/EAGLE speculative-decoding sibling for glm5-fp8-h200-sglang on lmsysorg/sglang:v0.5.12-cu130"
27252725
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/1480
2726+
2727+
- config-keys:
2728+
- qwen3.5-bf16-mi325x-sglang-mtp
2729+
description:
2730+
- "Add MTP/EAGLE speculative-decoding sibling of qwen3.5-bf16-mi325x-sglang"
2731+
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/1483

0 commit comments

Comments
 (0)