From 3195f3d94701dec7a6f76d9a6a648bdfeb1f7fa5 Mon Sep 17 00:00:00 2001 From: Oseltamivir <58582368+Oseltamivir@users.noreply.github.com> Date: Tue, 14 Jul 2026 14:59:21 +0800 Subject: [PATCH] feat(dsv4): densify B300 sglang 1k1k sweep, re-run B300 trt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - dsv4-fp4-b300-sglang: the 1k1k search space sampled only conc {1, 32, 512, 8192}, leaving the ~50 tok/s/user frontier (conc 64-256) unsampled (933 tok/s/GPU vs B200's 1359). Add the DP-attn flashinfer band conc 64-512 and extend megamoe to 2048-8192; script selects launch profiles by CONC range instead of exact match. - dsv4-fp4-b300-trt(+mtp): re-run (no config change) so the density check compares same-pass data across frameworks. 中文:加密 B300 SGLang 1k1k 扫描点(DP-attn 64-512、megamoe 2048-8192, 脚本按 CONC 区间选择启动配置),并重跑 B300 TRT 以便同批次对比密度。 --- .../fixed_seq_len/dsv4_fp4_b300_sglang.sh | 4 ++-- configs/nvidia-master.yaml | 12 ++++++++---- perf-changelog.yaml | 15 +++++++++++++++ 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/benchmarks/single_node/fixed_seq_len/dsv4_fp4_b300_sglang.sh b/benchmarks/single_node/fixed_seq_len/dsv4_fp4_b300_sglang.sh index b451dee0d5..553ad7279e 100755 --- a/benchmarks/single_node/fixed_seq_len/dsv4_fp4_b300_sglang.sh +++ b/benchmarks/single_node/fixed_seq_len/dsv4_fp4_b300_sglang.sh @@ -53,7 +53,7 @@ start_gpu_monitor --output "$PWD/gpu_metrics.csv" # SWA ratio: 1k inputs need more SWA cache headroom than 8k inputs; 0.5 was # tuned empirically for the 1k1k recipe, while 0.1 is the cookbook default. -if [ "$CONC" = "1" ] || [ "$CONC" = "32" ]; then +if [ "$CONC" -le 32 ]; then # TP-only, no DP attention MEM_FRACTION_STATIC=0.90 SWA_FULL_TOKENS_RATIO=$([[ "$ISL" == "1024" ]] && echo 0.5 || echo 0.1) @@ -63,7 +63,7 @@ if [ "$CONC" = "1" ] || [ "$CONC" = "32" ]; then --disable-flashinfer-autotune ) -elif [ "$CONC" = "512" ]; then +elif [ "$CONC" -ge 64 ] && [ "$CONC" -le 512 ]; then # DP attention, flashinfer_mxfp4 export SGLANG_OPT_SWA_EVICT_DROP_PAGE_MARGIN=1 MEM_FRACTION_STATIC=0.94 diff --git a/configs/nvidia-master.yaml b/configs/nvidia-master.yaml index f90c510186..ade57ec489 100644 --- a/configs/nvidia-master.yaml +++ b/configs/nvidia-master.yaml @@ -2002,8 +2002,8 @@ dsv4-fp4-b300-sglang: multinode: false # Recipes are selected inside benchmarks/single_node/dsv4_fp4_b300_sglang.sh # by CONC: - # CONC 1|32: TP-only, flashinfer_mxfp4 - # CONC 512: DP-attn, flashinfer_mxfp4 + # CONC <=32: TP-only, flashinfer_mxfp4 + # CONC 64-512: DP-attn, flashinfer_mxfp4 # CONC 2048-8192: DP-attn, megamoe # ep is implicit in sglang: --moe-a2a-backend megamoe forces ep_size=tp_size, # while low-latency leaves ep_size at the default of 1. @@ -2014,8 +2014,12 @@ dsv4-fp4-b300-sglang: search-space: - { tp: 8, ep: 1, conc-start: 1, conc-end: 1 } - { tp: 4, ep: 1, conc-start: 32, conc-end: 32 } - - { tp: 4, ep: 1, dp-attn: true, conc-start: 512, conc-end: 512 } - - { tp: 8, ep: 8, dp-attn: true, conc-start: 8192, conc-end: 8192 } + # Densified mid band: the previous single conc-512 point left the + # ~50 tok/s/user frontier region (conc 64-256) unsampled at 1k1k. + - { tp: 4, ep: 1, dp-attn: true, conc-start: 64, conc-end: 512 } + # Megamoe band extended down to the script's existing 2048/4096 profiles + # (previously only 8192 at 1k1k). + - { tp: 8, ep: 8, dp-attn: true, conc-start: 2048, conc-end: 8192 } - isl: 8192 osl: 1024 search-space: diff --git a/perf-changelog.yaml b/perf-changelog.yaml index 57d510dd15..613ee7f933 100644 --- a/perf-changelog.yaml +++ b/perf-changelog.yaml @@ -4750,3 +4750,18 @@ - "Image: lmsysorg/sglang:nightly-dev-cu13-20260709-074bb928" - "6 topologies across 1k/1k and 8k/1k: 1P1D TP4 STP + wide-EP (DEP4 prefill / DEP16 decode) from 1P1D up to 8P1D, recipes under benchmarks/multi_node/srt-slurm-recipes/sglang/qwen3.5/gb300-fp8/" pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2137 + +- config-keys: + - dsv4-fp4-b300-sglang + description: + - "Densify the 1k1k sweep: the previous search space sampled only conc {1, 32, 512, 8192}, leaving the ~50 tok/s/user frontier region unsampled and noisy (933 tok/s/GPU vs B200's 1359 at 50 tok/s/user)" + - "Add the DP-attn flashinfer_mxfp4 band conc 64-512 (was a single 512 point) and extend the megamoe band down to conc 2048-8192 (was a single 8192 point), reusing the existing CONC 2048/4096 launch profiles in dsv4_fp4_b300_sglang.sh" + - "dsv4_fp4_b300_sglang.sh: select launch profiles by CONC range (<=32 TP-only, 64-512 DP-attn flashinfer) instead of exact match; megamoe profiles unchanged" + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2192 + +- config-keys: + - dsv4-fp4-b300-trt + - dsv4-fp4-b300-trt-mtp + description: + - "Re-run B300 dsv4 TRT-LLM configs (no config change, last run 2026-06-11) so the 1k1k frontier density check around 50 tok/s/user compares same-pass data across frameworks" + pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2192