Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/run-sweep.yml
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ jobs:
--model 'claude-fable-5'
--max-turns 8
--allowedTools "Read,Glob,Grep,Bash(git diff:*)"
--json-schema '{"type":"object","properties":{"criteria":{"type":"array","items":{"type":"string","enum":["multi-node","agentic","eval-only","fp4","mtp","eagle","eagle3","sglang","vllm","dynamo-sglang","dynamo-vllm","glm5","glm5.1","kimik2.5","kimik3","dsv4","minimaxm3","qwen3.5","dsr1","checklist-complete","patchwork"]},"uniqueItems":true},"reason":{"type":"string"}},"required":["criteria","reason"]}'
--json-schema '{"type":"object","properties":{"criteria":{"type":"array","items":{"type":"string","enum":["multi-node","agentic","eval-only","fp4","mtp","eagle","eagle3","sglang","vllm","vllm-router","dynamo-sglang","dynamo-vllm","glm5","glm5.1","kimik2.5","kimik3","dsv4","minimaxm3","qwen3.5","dsr1","checklist-complete","patchwork"]},"uniqueItems":true},"reason":{"type":"string"}},"required":["criteria","reason"]}'
prompt: |
Inspect this Actions run's change range.

Expand All @@ -264,7 +264,7 @@ jobs:
- eval-only: evaluation without throughput measurement
- fp4: FP4 precision
- mtp, eagle, eagle3: speculative decoding method
- sglang, vllm, dynamo-vllm: runtime framework
- sglang, vllm, vllm-router, dynamo-vllm: runtime framework
- model criterion: matching configured model family
- checklist-complete: PR checklist is satisfied
- patchwork: modified upstream engine or runtime source
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -euo pipefail

python3 -m pip install --no-cache-dir --upgrade "vllm-router==0.1.15"
command -v vllm-router >/dev/null
python3 - <<'PY'
from importlib.metadata import version

assert version("vllm-router") == "0.1.15"
print(f"vllm-router {version('vllm-router')}")
PY
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: "dsr1-gb200-vllm-router-agg-dep4-agentic"

model:
path: "dsr1-nvfp4"
container: "vllm/vllm-openai:v0.25.1"
precision: "fp4"

setup_script: native-vllm-router-deps.sh

slurm:
time_limit: "4:00:00"

health_check:
max_attempts: 720
interval_seconds: 10

resources:
gpu_type: "gb200"
gpus_per_node: 4
agg_nodes: 1
agg_workers: 1
gpus_per_agg: 4

infra:
etcd_nats_dedicated_node: false

frontend:
type: vllm-router
enable_multiple_frontends: false
args:
policy: consistent_hash

backend:
type: vllm
connector: null
dp_launch_mode: per_node
aggregated_environment:
VLLM_ENGINE_READY_TIMEOUT_S: "3600"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "1800"
VLLM_LOG_STATS_INTERVAL: "1"
VLLM_USE_V2_MODEL_RUNNER: "1"
VLLM_USE_FLASHINFER_MOE_FP4: "1"
vllm_config:
aggregated:
served-model-name: "nvidia/DeepSeek-R1-0528-NVFP4-v2"
kv-cache-dtype: "fp8"
tensor-parallel-size: 1
pipeline-parallel-size: 1
data-parallel-size: 4
data-parallel-rpc-port: 13345
enable-expert-parallel: true
enable-prefix-caching: true
enable-prompt-tokens-details: true
max-model-len: 163840
max-num-seqs: 128
max-num-batched-tokens: 8192
trust-remote-code: true
block-size: 128
gpu-memory-utilization: 0.85
stream-interval: 10

sbatch_directives:
cpus-per-task: "144"
mem: "0"

srun_options:
container-remap-root: ""

benchmark:
type: custom
command: bash /infmax-workspace/benchmarks/multi_node/agentic_srt.sh
env:
INFMAX_CONTAINER_WORKSPACE: "/infmax-workspace"
RESULT_DIR: "/logs/agentic"
PORT: "8000"
IS_MULTINODE: "true"
AIPERF_REQUIRED_SERVER_METRIC_PREFIX: "vllm:"
AIPERF_HTTP_X_SESSION_ID_FROM_CORRELATION_ID: "1"
AIPERF_MAX_CONTEXT_LENGTH: "163840"
AIPERF_DATASET_MMAP_CACHE_DIR: "/aiperf_mmap_cache"
HF_HUB_CACHE: "/hf_hub_cache"
WEKA_LOADER_OVERRIDE: "semianalysis_cc_traces_weka_062126_256k"
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: "dsr1-gb200-vllm-router-agg-dep8-agentic"

model:
path: "dsr1-nvfp4"
container: "vllm/vllm-openai:v0.25.1"
precision: "fp4"

setup_script: native-vllm-router-deps.sh

slurm:
time_limit: "4:00:00"

health_check:
max_attempts: 720
interval_seconds: 10

resources:
gpu_type: "gb200"
gpus_per_node: 4
agg_nodes: 2
agg_workers: 1
gpus_per_agg: 8

infra:
etcd_nats_dedicated_node: false

frontend:
type: vllm-router
enable_multiple_frontends: false
args:
policy: consistent_hash

backend:
type: vllm
connector: null
dp_launch_mode: per_node
aggregated_environment:
VLLM_ENGINE_READY_TIMEOUT_S: "3600"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "1800"
VLLM_LOG_STATS_INTERVAL: "1"
VLLM_USE_V2_MODEL_RUNNER: "1"
VLLM_USE_FLASHINFER_MOE_FP4: "1"
vllm_config:
aggregated:
served-model-name: "nvidia/DeepSeek-R1-0528-NVFP4-v2"
kv-cache-dtype: "fp8"
tensor-parallel-size: 1
pipeline-parallel-size: 1
data-parallel-size: 8
data-parallel-rpc-port: 13345
enable-expert-parallel: true
enable-prefix-caching: true
enable-prompt-tokens-details: true
max-model-len: 163840
max-num-seqs: 128
max-num-batched-tokens: 8192
trust-remote-code: true
block-size: 128
gpu-memory-utilization: 0.85
stream-interval: 10

sbatch_directives:
cpus-per-task: "144"
mem: "0"

srun_options:
container-remap-root: ""

benchmark:
type: custom
command: bash /infmax-workspace/benchmarks/multi_node/agentic_srt.sh
env:
INFMAX_CONTAINER_WORKSPACE: "/infmax-workspace"
RESULT_DIR: "/logs/agentic"
PORT: "8000"
IS_MULTINODE: "true"
AIPERF_REQUIRED_SERVER_METRIC_PREFIX: "vllm:"
AIPERF_HTTP_X_SESSION_ID_FROM_CORRELATION_ID: "1"
AIPERF_MAX_CONTEXT_LENGTH: "163840"
AIPERF_DATASET_MMAP_CACHE_DIR: "/aiperf_mmap_cache"
HF_HUB_CACHE: "/hf_hub_cache"
WEKA_LOADER_OVERRIDE: "semianalysis_cc_traces_weka_062126_256k"
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: "dsr1-gb200-vllm-router-disagg-1p2d-dep4-agentic"

model:
path: "dsr1-nvfp4"
container: "vllm/vllm-openai:v0.25.1"
precision: "fp4"

setup_script: native-vllm-router-deps.sh

slurm:
time_limit: "4:00:00"

health_check:
max_attempts: 720
interval_seconds: 10

resources:
gpu_type: "gb200"
gpus_per_node: 4
prefill_nodes: 1
prefill_workers: 1
gpus_per_prefill: 4
decode_nodes: 2
decode_workers: 2
gpus_per_decode: 4

infra:
etcd_nats_dedicated_node: false

frontend:
type: vllm-router
enable_multiple_frontends: false
args:
policy: consistent_hash
prefill-policy: consistent_hash
decode-policy: consistent_hash

backend:
type: vllm
connector: null
dp_launch_mode: per_node
prefill_environment: &vllm_environment
VLLM_ENGINE_READY_TIMEOUT_S: "3600"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "1800"
VLLM_LOG_STATS_INTERVAL: "1"
VLLM_USE_V2_MODEL_RUNNER: "1"
VLLM_USE_FLASHINFER_MOE_FP4: "1"
decode_environment: *vllm_environment
vllm_config:
prefill: &vllm_config
kv-transfer-config: '{"kv_connector":"NixlConnector","kv_role":"kv_both"}'
served-model-name: "nvidia/DeepSeek-R1-0528-NVFP4-v2"
kv-cache-dtype: "fp8"
tensor-parallel-size: 1
pipeline-parallel-size: 1
data-parallel-size: 4
data-parallel-rpc-port: 13345
enable-expert-parallel: true
enable-prefix-caching: true
enable-prompt-tokens-details: true
max-model-len: 163840
max-num-seqs: 128
max-num-batched-tokens: 8192
trust-remote-code: true
block-size: 128
gpu-memory-utilization: 0.85
stream-interval: 10
decode: *vllm_config

sbatch_directives:
cpus-per-task: "144"
mem: "0"

srun_options:
container-remap-root: ""

benchmark:
type: custom
command: bash /infmax-workspace/benchmarks/multi_node/agentic_srt.sh
env:
INFMAX_CONTAINER_WORKSPACE: "/infmax-workspace"
RESULT_DIR: "/logs/agentic"
PORT: "8000"
IS_MULTINODE: "true"
AIPERF_REQUIRED_SERVER_METRIC_PREFIX: "vllm:"
AIPERF_HTTP_X_SESSION_ID_FROM_CORRELATION_ID: "1"
AIPERF_MAX_CONTEXT_LENGTH: "163840"
AIPERF_DATASET_MMAP_CACHE_DIR: "/aiperf_mmap_cache"
HF_HUB_CACHE: "/hf_hub_cache"
WEKA_LOADER_OVERRIDE: "semianalysis_cc_traces_weka_062126_256k"
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: "dsr1-gb200-vllm-router-disagg-2p2d-dep4-agentic"

model:
path: "dsr1-nvfp4"
container: "vllm/vllm-openai:v0.25.1"
precision: "fp4"

setup_script: native-vllm-router-deps.sh

slurm:
time_limit: "4:00:00"

health_check:
max_attempts: 720
interval_seconds: 10

resources:
gpu_type: "gb200"
gpus_per_node: 4
prefill_nodes: 2
prefill_workers: 2
gpus_per_prefill: 4
decode_nodes: 2
decode_workers: 2
gpus_per_decode: 4

infra:
etcd_nats_dedicated_node: false

frontend:
type: vllm-router
enable_multiple_frontends: false
args:
policy: consistent_hash
prefill-policy: consistent_hash
decode-policy: consistent_hash

backend:
type: vllm
connector: null
dp_launch_mode: per_node
prefill_environment: &vllm_environment
VLLM_ENGINE_READY_TIMEOUT_S: "3600"
VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS: "1800"
VLLM_LOG_STATS_INTERVAL: "1"
VLLM_USE_V2_MODEL_RUNNER: "1"
VLLM_USE_FLASHINFER_MOE_FP4: "1"
decode_environment: *vllm_environment
vllm_config:
prefill: &vllm_config
kv-transfer-config: '{"kv_connector":"NixlConnector","kv_role":"kv_both"}'
served-model-name: "nvidia/DeepSeek-R1-0528-NVFP4-v2"
kv-cache-dtype: "fp8"
tensor-parallel-size: 1
pipeline-parallel-size: 1
data-parallel-size: 4
data-parallel-rpc-port: 13345
enable-expert-parallel: true
enable-prefix-caching: true
enable-prompt-tokens-details: true
max-model-len: 163840
max-num-seqs: 128
max-num-batched-tokens: 8192
trust-remote-code: true
block-size: 128
gpu-memory-utilization: 0.85
stream-interval: 10
decode: *vllm_config

sbatch_directives:
cpus-per-task: "144"
mem: "0"

srun_options:
container-remap-root: ""

benchmark:
type: custom
command: bash /infmax-workspace/benchmarks/multi_node/agentic_srt.sh
env:
INFMAX_CONTAINER_WORKSPACE: "/infmax-workspace"
RESULT_DIR: "/logs/agentic"
PORT: "8000"
IS_MULTINODE: "true"
AIPERF_REQUIRED_SERVER_METRIC_PREFIX: "vllm:"
AIPERF_HTTP_X_SESSION_ID_FROM_CORRELATION_ID: "1"
AIPERF_MAX_CONTEXT_LENGTH: "163840"
AIPERF_DATASET_MMAP_CACHE_DIR: "/aiperf_mmap_cache"
HF_HUB_CACHE: "/hf_hub_cache"
WEKA_LOADER_OVERRIDE: "semianalysis_cc_traces_weka_062126_256k"
2 changes: 2 additions & 0 deletions configs/ci-priority.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ adjustments:
eagle: 0.75
eagle3: 0.75
framework-prefix:
# Match the explicit Router runtime before the broader vLLM prefix.
vllm-router: 0.5
sglang: 0.5
vllm: 0.5
dynamo-sglang: 0.5
Expand Down
Loading