# Configuration for the vLLM-dspark vs vLLM-default comparison on H200.
# All values can be overridden via environment variables.

EXPERIMENT="dsv4_h200_vllm_dspark_vs_default"

# The dspark variant uses a separate checkpoint and the vllm-dspark env.
DSPARK_MODEL_NAME="DeepSeek-V4-Flash-DSpark"
DSPARK_MODEL_PATH="/data/models/DeepSeek-V4-Flash-DSpark"

# The default variant uses the standard checkpoint and the plain vllm env.
DEFAULT_MODEL_NAME="DeepSeek-V4-Flash"
DEFAULT_MODEL_PATH="/data/models/DeepSeek-V4-Flash"

SERVED_MODEL_NAME="deepseek-v4-flash"

# Different ports so the two backends can be tested independently.
DSPARK_PORT="${DSPARK_PORT:-30007}"
DEFAULT_PORT="${DEFAULT_PORT:-30008}"

# Virtual environments.
VENV_VLLM_DSPARK="${VENV_VLLM_DSPARK:-/data/user1/yy/envs/vllm-dspark}"
VENV_VLLM="${VENV_VLLM:-/data/user1/yy/envs/vllm}"

# Benchmark client always runs from the sglang env for consistency.
VENV_CLIENT="${VENV_CLIENT:-/data/user1/yy/envs/sglang}"

# Hardware: use all 8 H200 cards for both backends.
export CUDA_VISIBLE_DEVICES="0,1,2,3,4,5,6,7"
TP=8

# Scenarios focused on TTFT: low/high concurrency x short/medium input.
# Each element: "concurrency input_len output_len num_prompts"
# Following docs/EXPERIMENT_GUIDE.md: num_prompts = concurrency * 5.
if [[ -z "${SCENARIOS:-}" ]]; then
  declare -a SCENARIOS=(
    "1   512   256  5"
    "32  512   256  160"
    "128 512   256  640"
    "1   4000  512  5"
    "32  4000  512  160"
  )
fi
MAX_MODEL_LEN=32768
MAX_NUM_SEQS=256

# Server start scripts bundled with this experiment.
DSPARK_START_SCRIPT="${SCRIPT_DIR:-.}/start_dspark.sh"
DEFAULT_START_SCRIPT="${SCRIPT_DIR:-.}/start_default.sh"
