Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
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
314 changes: 314 additions & 0 deletions configs/runners.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -330,3 +330,317 @@ hardware:
cluster:mi355x-amds:
available-cpu-dram-mib: 3_095_781
gpus-per-node: 8
models:
# Cluster-local checkpoints used by launchers instead of downloading the
# portable HuggingFace model IDs in the benchmark configs. When multiple
# paths are listed, the first existing directory wins and the first entry is
# the deterministic fallback. Framework-specific mappings take precedence
# over the default mapping.
cluster:b200-dgxc:
default:
dsr1:
fp4:
# Per-node /raid is not populated reliably across the cluster.
model-paths:
- /scratch/fsw/models/DeepSeek-R1-0528-NVFP4-v2
srt-slurm-model-prefix: dsr1
fp8:
model-paths:
- /lustre/fsw/models/dsr1-0528-fp8
srt-slurm-model-prefix: dsr1-fp8
dsv4:
fp4:
model-paths:
- /lustre/fsw/models/deepseek-v4-pro
- /lustre/fsw/models/dsv4-pro
- /lustre/fsw/models/DeepSeek-V4-Pro
srt-slurm-model-prefix: deepseek-v4-pro
# Preserve the operator override supported by the previous launcher.
allow-model-path-override: true
qwen3.5:
bf16:
model-paths:
- /lustre/fsw/models/Qwen3.5-397B-A17B
srt-slurm-model-prefix: qwen3.5
fp8:
model-paths:
- /lustre/fsw/models/Qwen3.5-397B-A17B-FP8
srt-slurm-model-prefix: qwen3.5-fp8
fp4:
model-paths:
- /lustre/fsw/models/Qwen3.5-397B-A17B-NVFP4
srt-slurm-model-prefix: qwen3.5-fp4
glm5:
fp8:
model-paths:
- /lustre/fsw/models/GLM-5-FP8
srt-slurm-model-prefix: glm5-fp8
fp4:
model-paths:
- /lustre/fsw/models/GLM-5-NVFP4
srt-slurm-model-prefix: glm5-fp4
kimik2.5:
int4:
model-paths:
- /lustre/fsw/models/Kimi-K2.5
srt-slurm-model-prefix: kimik2.5
fp4:
model-paths:
- /lustre/fsw/models/Kimi-K2.5-NVFP4
srt-slurm-model-prefix: kimik2.5-fp4
minimaxm2.5:
fp8:
model-paths:
- /lustre/fsw/models/MiniMax-M2.5
srt-slurm-model-prefix: minimax-m2.5-fp8
fp4:
model-paths:
- /lustre/fsw/models/MiniMax-M2.5-NVFP4
srt-slurm-model-prefix: minimax-m2.5-nvfp4
gptoss:
fp4:
model-paths:
- /lustre/fsw/models/gpt-oss-120b
srt-slurm-model-prefix: gptoss
minimaxm3:
fp8:
# Day-zero model staged in the sa-shared-writable gharunners tree.
model-paths:
- /lustre/fsw/gharunners/models/MiniMax-M3-MXFP8
srt-slurm-model-prefix: minimax-m3-mxfp8
fp4:
model-paths:
- /scratch/fsw/models/MiniMax-M3-NVFP4
srt-slurm-model-prefix: minimax-m3-nvfp4
cluster:b300-nv:
default:
dsr1:
fp4:
model-paths:
- /data/models/dsr1-fp4
served-model-name: deepseek-r1-fp4
srt-slurm-model-prefix: dsr1
fp8:
model-paths:
- /data/models/dsr1-fp8
served-model-name: deepseek-r1-fp8
srt-slurm-model-prefix: dsr1-fp8
dynamo-vllm:
dsv4:
fp4:
model-paths:
- /data/models/dsv4-pro
- /data/models/deepseek-v4-pro
- /data/models/DeepSeek-V4-Pro
srt-slurm-model-prefix: deepseek-v4-pro
allow-model-path-override: true
minimaxm2.5:
fp4:
model-paths:
- /data/models/MiniMax-M2.5-NVFP4
srt-slurm-model-prefix: minimax-m2.5-nvfp4
fp8:
model-paths:
- /data/models/MiniMax-M2.5
srt-slurm-model-prefix: minimax-m2.5-fp8
minimaxm3:
fp4:
model-paths:
- /scratch/models/MiniMax-M3-NVFP4
srt-slurm-model-prefix: nvidia/MiniMax-M3-NVFP4
fp8:
model-paths:
- /data/models/MiniMax-M3-MXFP8
srt-slurm-model-prefix: MiniMaxAI/MiniMax-M3-MXFP8
cluster:gb200-nv:
llmd-vllm:
dsv4:
fp4:
model-paths:
- /mnt/numa1/models/DeepSeek-V4-Pro
model-name: deepseek-ai/DeepSeek-V4-Pro
dynamo-sglang:
dsr1:
fp8:
model-paths:
- /mnt/lustre01/models/deepseek-r1-0528
srt-slurm-model-prefix: dsr1-fp8
fp4:
model-paths:
- /mnt/lustre01/models/deepseek-r1-0528-fp4-v2/
srt-slurm-model-prefix: dsr1-fp4
dsv4:
fp4:
model-paths:
- /mnt/lustre01/models/deepseek-v4-pro
srt-slurm-model-prefix: deepseek-v4-pro
glm5.1:
fp4:
model-paths:
- /mnt/lustre01/models/GLM-5.1-NVFP4
srt-slurm-model-prefix: glm-5-fp4
fp8:
model-paths:
- /mnt/lustre01/models/GLM-5.1-FP8
srt-slurm-model-prefix: glm-5.1-fp8
qwen3.5:
fp8:
model-paths:
- /mnt/lustre01/models/Qwen3.5-397B-A17B-FP8
srt-slurm-model-prefix: qwen3.5-fp8
dynamo-trt:
gptoss:
default:
model-paths:
- /mnt/lustre01/models/gpt-oss-120b
served-model-name: gpt-oss-120b
dsr1:
fp4:
model-paths:
- /mnt/numa1/models/DeepSeek-R1-0528-NVFP4-v2
served-model-name: deepseek-r1-fp4
srt-slurm-model-prefix: dsr1
fp8:
model-paths:
- /mnt/numa1/models/DeepSeek-R1-0528
served-model-name: deepseek-r1-fp8
srt-slurm-model-prefix: dsr1-fp8
kimik2.5:
fp4:
model-paths:
- /mnt/lustre01/models/kimi-k2.5-nvfp4
served-model-name: kimi-k2.5-nvfp4
srt-slurm-model-prefix: nvidia/Kimi-K2.5-NVFP4
glm5:
fp4:
model-paths:
- /mnt/lustre01/slurm-shared/glm-model/GLM-5-NVFP4
served-model-name: glm-5-nvfp4
srt-slurm-model-prefix: nvidia/GLM-5-NVFP4
dynamo-vllm:
kimik2.5:
fp4:
model-paths:
- /mnt/lustre01/models/kimi-k2.5-nvfp4
srt-slurm-model-prefix: kimi-k2.5-nvfp4
dsv4:
fp4:
# Compute-visible NVFP4 checkpoint; the lowercase sibling is FP8.
model-paths:
- /mnt/lustre01/models/DeepSeek-V4-Pro-NVFP4/
srt-slurm-model-prefix: deepseek-v4-pro
minimaxm2.5:
fp4:
model-paths:
- /mnt/lustre01/models/MiniMax-M2.5-NVFP4
srt-slurm-model-prefix: minimax-m2.5-nvfp4
fp8:
model-paths:
- /mnt/lustre01/models/MiniMax-M2.5
srt-slurm-model-prefix: minimax-m2.5-fp8
minimaxm3:
fp8:
model-paths:
- /mnt/lustre01/models/MiniMax-M3-MXFP8
srt-slurm-model-prefix: minimax-m3-mxfp8
cluster:gb300-nv:
default:
dsr1:
fp4:
model-paths:
- /scratch/models/DeepSeek-R1-0528-NVFP4-v2
served-model-name: deepseek-r1-fp4
srt-slurm-model-prefix: dsr1
fp8:
model-paths:
- /scratch/models/DeepSeek-R1-0528
served-model-name: deepseek-r1-fp8
srt-slurm-model-prefix: dsr1-fp8
dsv4:
fp4:
# Compute-node-local path; srtctl preflight must be skipped.
model-paths:
- /scratch/models/DeepSeek-V4-Pro
srt-slurm-model-prefix: deepseek-v4-pro
glm5.1:
fp4:
model-paths:
- /scratch/models/GLM-5.1-NVFP4
srt-slurm-model-prefix: glm-5-fp4
glm5:
fp4:
model-paths:
- /scratch/models/GLM-5-NVFP4
srt-slurm-model-prefix: glm-5-fp4
fp8:
model-paths:
- /scratch/models/GLM-5-FP8
srt-slurm-model-prefix: glm-5-fp8
minimaxm2.5:
fp4:
model-paths:
- /data/models/MiniMax-M2.5-NVFP4
srt-slurm-model-prefix: minimax-m2.5-nvfp4
fp8:
model-paths:
- /data/models/MiniMax-M2.5
srt-slurm-model-prefix: minimax-m2.5-fp8
minimaxm3:
fp8:
model-paths:
- /data/models/MiniMax-M3-MXFP8
srt-slurm-model-prefix: minimax-m3-mxfp8
kimik2.5:
fp4:
model-paths:
- /scratch/models/Kimi-K2.5-NVFP4
srt-slurm-model-prefix: nvidia/Kimi-K2.5-NVFP4
qwen3.5:
fp4:
model-paths:
- /scratch/models/Qwen3.5-397B-A17B-NVFP4
srt-slurm-model-prefix: qwen3.5-fp4
fp8:
model-paths:
- /scratch/models/Qwen3.5-397B-A17B-FP8
srt-slurm-model-prefix: qwen3.5-fp8
dynamo-trt:
dsv4:
fp4:
model-paths:
- /scratch/models/DeepSeek-V4-Pro
srt-slurm-model-prefix: deepseek-ai/DeepSeek-V4-Pro
glm5:
fp4:
model-paths:
- /scratch/models/GLM-5-NVFP4
served-model-name: glm-5-nvfp4
srt-slurm-model-prefix: nvidia/GLM-5-NVFP4
cluster:h100-dgxc:
dynamo-sglang:
dsr1:
fp8:
model-paths:
- /mnt/nfs/lustre/models/dsr1-fp8
srt-slurm-model-prefix: dsr1-fp8
dynamo-trt:
dsr1:
fp8:
model-paths:
- /mnt/nfs/lustre/models/dsr1-fp8
served-model-name: DeepSeek-R1-0528
srt-slurm-model-prefix: DeepSeek-R1-0528
cluster:h200-dgxc:
dynamo-sglang:
dsr1:
fp8:
model-paths:
- /models/DeepSeek-R1-0528
srt-slurm-model-prefix: dsr1-fp8
dynamo-trt:
dsr1:
fp8:
model-paths:
- /models/DeepSeek-R1-0528
served-model-name: DeepSeek-R1-0528
srt-slurm-model-prefix: DeepSeek-R1-0528
75 changes: 3 additions & 72 deletions runners/launch_b200-dgxc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,78 +6,9 @@ SLURM_ACCOUNT="benchmark"

set -x

# MODEL_PATH: Override with pre-downloaded paths on the shared Lustre tree.
# Bench scripts and srt-slurm yaml configs specify HuggingFace model IDs for
# portability, but we resolve to /lustre/fsw/models/* here to avoid repeated
# downloading on every dgxc node. Runs for both single-node and multinode
# launches.
# NOTE: per-node /raid/models/* would be faster but is only populated on a
# subset of dgxc nodes today, so we use Lustre for reliability.
if [[ $MODEL_PREFIX == "dsr1" && $PRECISION == "fp4" ]]; then
export MODEL_PATH="/scratch/fsw/models/DeepSeek-R1-0528-NVFP4-v2"
export SRT_SLURM_MODEL_PREFIX="dsr1"
elif [[ $MODEL_PREFIX == "dsr1" && $PRECISION == "fp8" ]]; then
export MODEL_PATH="/lustre/fsw/models/dsr1-0528-fp8"
export SRT_SLURM_MODEL_PREFIX="dsr1-fp8"
elif [[ $MODEL_PREFIX == "dsv4" && $PRECISION == "fp4" ]]; then
SELECTED_MODEL_PATH=""
if [[ -n "${MODEL_PATH:-}" && -d "${MODEL_PATH}" ]]; then
SELECTED_MODEL_PATH="$MODEL_PATH"
else
for candidate in /lustre/fsw/models/deepseek-v4-pro /lustre/fsw/models/dsv4-pro /lustre/fsw/models/DeepSeek-V4-Pro; do
if [[ -d "$candidate" ]]; then
SELECTED_MODEL_PATH="$candidate"
break
fi
done
fi
export MODEL_PATH="${SELECTED_MODEL_PATH:-/lustre/fsw/models/deepseek-v4-pro}"
export SRT_SLURM_MODEL_PREFIX="deepseek-v4-pro"
elif [[ $MODEL_PREFIX == "qwen3.5" && $PRECISION == "bf16" ]]; then
export MODEL_PATH="/lustre/fsw/models/Qwen3.5-397B-A17B"
export SRT_SLURM_MODEL_PREFIX="qwen3.5"
elif [[ $MODEL_PREFIX == "qwen3.5" && $PRECISION == "fp8" ]]; then
export MODEL_PATH="/lustre/fsw/models/Qwen3.5-397B-A17B-FP8"
export SRT_SLURM_MODEL_PREFIX="qwen3.5-fp8"
elif [[ $MODEL_PREFIX == "qwen3.5" && $PRECISION == "fp4" ]]; then
export MODEL_PATH="/lustre/fsw/models/Qwen3.5-397B-A17B-NVFP4"
export SRT_SLURM_MODEL_PREFIX="qwen3.5-fp4"
elif [[ $MODEL_PREFIX == "glm5" && $PRECISION == "fp8" ]]; then
export MODEL_PATH="/lustre/fsw/models/GLM-5-FP8"
export SRT_SLURM_MODEL_PREFIX="glm5-fp8"
elif [[ $MODEL_PREFIX == "glm5" && $PRECISION == "fp4" ]]; then
export MODEL_PATH="/lustre/fsw/models/GLM-5-NVFP4"
export SRT_SLURM_MODEL_PREFIX="glm5-fp4"
elif [[ $MODEL_PREFIX == "kimik2.5" && $PRECISION == "int4" ]]; then
export MODEL_PATH="/lustre/fsw/models/Kimi-K2.5"
export SRT_SLURM_MODEL_PREFIX="kimik2.5"
elif [[ $MODEL_PREFIX == "kimik2.5" && $PRECISION == "fp4" ]]; then
export MODEL_PATH="/lustre/fsw/models/Kimi-K2.5-NVFP4"
export SRT_SLURM_MODEL_PREFIX="kimik2.5-fp4"
elif [[ $MODEL_PREFIX == "minimaxm2.5" && $PRECISION == "fp8" ]]; then
export MODEL_PATH="/lustre/fsw/models/MiniMax-M2.5"
export SRT_SLURM_MODEL_PREFIX="minimax-m2.5-fp8"
elif [[ $MODEL_PREFIX == "minimaxm2.5" && $PRECISION == "fp4" ]]; then
export MODEL_PATH="/lustre/fsw/models/MiniMax-M2.5-NVFP4"
export SRT_SLURM_MODEL_PREFIX="minimax-m2.5-nvfp4"
elif [[ $MODEL_PREFIX == "gptoss" && $PRECISION == "fp4" ]]; then
export MODEL_PATH="/lustre/fsw/models/gpt-oss-120b"
export SRT_SLURM_MODEL_PREFIX="gptoss"
elif [[ $MODEL_PREFIX == "minimaxm3" && $PRECISION == "fp8" ]]; then
# Day-zero: MiniMax-M3-MXFP8 is not in the SRE-staged /lustre/fsw/models
# tree (root-owned); it lives in the sa-shared-writable gharunners tree.
export MODEL_PATH="/lustre/fsw/gharunners/models/MiniMax-M3-MXFP8"
export SRT_SLURM_MODEL_PREFIX="minimax-m3-mxfp8"
elif [[ $MODEL_PREFIX == "minimaxm3" && $PRECISION == "fp4" ]]; then
# NVFP4 checkpoint, pre-staged on the b200-dgxc scratch tree.
export MODEL_PATH="/scratch/fsw/models/MiniMax-M3-NVFP4"
export SRT_SLURM_MODEL_PREFIX="minimax-m3-nvfp4"
else
echo "Unsupported model prefix/precision: $MODEL_PREFIX/$PRECISION"
echo "Available models under /lustre/fsw/models:"
ls -la /lustre/fsw/models
exit 1
fi
# shellcheck source=runners/runner_model_utils.sh
source "$(dirname "${BASH_SOURCE[0]}")/runner_model_utils.sh"
resolve_runner_model_config "cluster:b200-dgxc" || exit 1

export AIPERF_MMAP_CACHE_HOST_PATH="/lustre/fsw/gharunners/aiperf-cache"

Expand Down
Loading