-
Notifications
You must be signed in to change notification settings - Fork 156
Add B300 config: qwen3.5-fp8-sglang (non-MTP) #1048
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
e76cbda
Add B300 config: qwen3.5-fp8-sglang
functionstackx 8685590
Fill in PR link for qwen3.5-fp8-b300-sglang changelog entry
functionstackx 90a3b46
Pin B300 single-node salloc to known-good nodelist
functionstackx e18c308
Request a single node from the B300 nodelist
functionstackx File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,83 @@ | ||
| #!/usr/bin/env bash | ||
|
|
||
| source "$(dirname "$0")/../benchmark_lib.sh" | ||
|
|
||
| check_env_vars \ | ||
| MODEL \ | ||
| TP \ | ||
| CONC \ | ||
| ISL \ | ||
| OSL \ | ||
| RANDOM_RANGE_RATIO \ | ||
| RESULT_FILENAME \ | ||
| EP_SIZE | ||
|
|
||
| if [[ -n "$SLURM_JOB_ID" ]]; then | ||
| echo "JOB $SLURM_JOB_ID running on $SLURMD_NODENAME" | ||
| fi | ||
|
|
||
| nvidia-smi | ||
|
|
||
| SERVER_LOG=/workspace/server.log | ||
| PORT=${PORT:-8888} | ||
|
|
||
| CONTEXT_LENGTH=$((ISL + OSL + 20)) | ||
| if [ "${EVAL_ONLY}" = "true" ]; then | ||
| setup_eval_context | ||
| CONTEXT_LENGTH="$EVAL_MAX_MODEL_LEN" | ||
| fi | ||
|
|
||
| # Start GPU monitoring (power, temperature, clocks every second) | ||
| start_gpu_monitor | ||
|
|
||
| set -x | ||
| PYTHONNOUSERSITE=1 python3 -m sglang.launch_server --model-path=$MODEL --host=0.0.0.0 --port=$PORT \ | ||
| --trust-remote-code \ | ||
| --tensor-parallel-size=$TP --data-parallel-size=1 --expert-parallel-size=$EP_SIZE \ | ||
| --enable-symm-mem \ | ||
| --disable-radix-cache \ | ||
| --quantization fp8 \ | ||
| --kv-cache-dtype fp8_e4m3 \ | ||
| --mamba-ssm-dtype bfloat16 \ | ||
| --attention-backend trtllm_mha \ | ||
| --moe-runner-backend flashinfer_trtllm \ | ||
| --cuda-graph-max-bs $CONC \ | ||
| --max-running-requests $CONC \ | ||
| --max-prefill-tokens 16384 \ | ||
| --chunked-prefill-size 16384 \ | ||
| --mem-fraction-static 0.8 \ | ||
| --stream-interval 50 \ | ||
| --scheduler-recv-interval 10 \ | ||
| --tokenizer-worker-num 6 \ | ||
| --tokenizer-path $MODEL \ | ||
| --context-length $CONTEXT_LENGTH > $SERVER_LOG 2>&1 & | ||
|
|
||
| SERVER_PID=$! | ||
|
|
||
| # Wait for server to be ready | ||
| wait_for_server_ready --port "$PORT" --server-log "$SERVER_LOG" --server-pid "$SERVER_PID" | ||
|
|
||
| pip install -q datasets pandas | ||
|
|
||
| run_benchmark_serving \ | ||
| --model "$MODEL" \ | ||
| --port "$PORT" \ | ||
| --backend vllm \ | ||
| --input-len "$ISL" \ | ||
| --output-len "$OSL" \ | ||
| --random-range-ratio "$RANDOM_RANGE_RATIO" \ | ||
| --num-prompts "$((CONC * 10))" \ | ||
| --max-concurrency "$CONC" \ | ||
| --result-filename "$RESULT_FILENAME" \ | ||
| --result-dir /workspace/ \ | ||
| --use-chat-template | ||
|
|
||
| # After throughput, run evaluation only if RUN_EVAL is true | ||
| if [ "${RUN_EVAL}" = "true" ]; then | ||
| run_eval --framework lm-eval --port "$PORT" | ||
| append_lm_eval_summary | ||
| fi | ||
|
|
||
| # Stop GPU monitoring | ||
| stop_gpu_monitor | ||
| set +x |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🟡 The perf-changelog.yaml entry for qwen3.5-fp8-b300-sglang uses the placeholder pr-link 'pull/XXXX' instead of the actual PR number 1048. Update line 1398 to read 'pull/1048' to restore changelog traceability — every other recent entry uses the real PR number.
Extended reasoning...
What the bug is: The new perf-changelog.yaml entry for the qwen3.5-fp8-b300-sglang config (lines 1392-1398) has
pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/XXXXinstead of the actual PR number 1048. Thepr-linkfield is the primary mechanism used to trace a changelog entry back to the pull request that introduced or updated a benchmark configuration.How it manifests: Any tooling, script, or human reviewer who tries to cross-reference this changelog entry with the originating PR will follow a broken/nonexistent URL. Unlike most other entries which have real PR numbers (e.g., the sibling qwen3.5-fp8-b300-sglang-mtp entry at line 1390 correctly points to
/pull/1035), this entry is untraceable by PR number.The specific code path: The last entry in perf-changelog.yaml reads:
The PR diff shows
/pull/1048was intended, but what was actually committed (confirmed viagit show e76cbda) isXXXX.Why existing code doesn't prevent it: There is no validation in CI that checks
pr-linkfields in perf-changelog.yaml for placeholder values. The placeholder was likely present before the PR number was assigned and was never replaced before merging.Impact: Changelog traceability is broken for this entry. Anyone auditing which PR introduced the qwen3.5-fp8-b300-sglang config will be unable to follow the link. This is a metadata-only issue with no effect on benchmark execution.
Fix: Change line 1398 from
pull/XXXXtopull/1048.Step-by-step proof:
git show e76cbda -- perf-changelog.yamlconfirms the committed diff addspr-link: .../pull/XXXX(not/pull/1048).perf-changelog.yamlline 1398 readspull/XXXX.pull/1035, establishing the expected pattern.pull/1048.