- Update platforms/nvidia_h200.env with ENGINE and configurable venv/paths. - Update platforms/README.md with H200 notes and platform-addition guide. - Add docs/H200_QUICKSTART.md with concrete H200 usage steps. - Add experiments/dsv4_h200_dspark/ as a migration wrapper around the existing scripts/benchmark_dspark_0707/ grid benchmark, writing results into the new experiments/<name>/results/<RUN_ID>/ layout. - Update BENCHMARK_WORKFLOW.md with a 'Adding a New Platform or Experiment' section and mention the H200 wrapper in Quick Start. - Update main README.md to index the H200 experiment and link to the guide.
3.3 KiB
H200 Quick Start Guide
This guide covers how to use this benchmark repository on an NVIDIA H200 machine.
Current state
The H200 path is currently based on native host virtual environments (not Docker):
- Server engine:
vllm-dspark - Server env:
envs/vllm-dspark - Benchmark client env:
envs/sglang(usessglang.bench_serving --backend vllm) - Default model:
/data/models/DeepSeek-V4-Flash-DSpark - Default port:
30004
The legacy benchmark scripts live under scripts/benchmark_dspark_0707/. A migration wrapper experiment experiments/dsv4_h200_dspark/ is also provided so the results follow the new experiments/<name>/results/<RUN_ID>/ layout.
1. Pull and verify
git clone <repo-url> /data/user1/yy
cd /data/user1/yy
# Platform should auto-detect as nvidia_h200
source scripts/common/platform.sh
If auto-detection fails, set it explicitly:
PLATFORM=nvidia_h200 source scripts/common/platform.sh
2. Run the existing DSpark benchmark grid
This uses the legacy scripts and writes results to bench_results/dspark_grid_<RUN_ID>/.
bash scripts/benchmark_dspark_0707/run_dspark_benchmark_grid.sh
To reuse an already-running server:
SKIP_MANAGE_SERVER=1 bash scripts/benchmark_dspark_0707/run_dspark_benchmark_grid.sh
3. Run the migration wrapper experiment
This produces results in the new experiment-centric layout:
bash experiments/dsv4_h200_dspark/run_bench.sh
Results land in experiments/dsv4_h200_dspark/results/<RUN_ID>/.
4. Create a new H200 experiment
To add a new H200 benchmark (for example a different model or engine), create:
experiments/<your_name>/
├── README.md # What this experiment measures
├── config.env # Model, port, scenarios, venv paths
├── start_server.sh # (optional) native server launch
├── run_bench.sh # Orchestrator: server → benchmark → stop
└── parse_results.py # Generate results.json + report.md
Minimum config.env:
EXPERIMENT="${EXPERIMENT:-<your_name>}"
MODEL_NAME="${MODEL_NAME:-DeepSeek-V4-Flash-DSpark}"
MODEL_PATH="${MODEL_PATH:-/data/models/DeepSeek-V4-Flash-DSpark}"
PORT="${PORT:-30004}"
BACKEND="${BACKEND:-vllm}"
ENGINE="${ENGINE:-vllm-dspark}"
# Native venvs
VENV_SERVER="${VENV_SERVER:-/data/user1/yy/envs/vllm-dspark}"
VENV_CLIENT="${VENV_CLIENT:-/data/user1/yy/envs/sglang}"
SCENARIOS=(
"32 512 256"
)
Then source the platform loader and shared helpers at the top of run_bench.sh:
source "${SCRIPT_DIR}/../../scripts/common/lib.sh"
source "${SCRIPT_DIR}/../../scripts/common/platform.sh"
For a concrete example, see experiments/dsv4_h200_dspark/.
5. Cross-platform comparison
After running experiments on both P800 and H200, compare them with:
python3 scripts/analysis/compare_experiments.py \
experiments/dsv4_p800_sglang/results/<run_id> \
experiments/dsv4_h200_dspark/results/<run_id>
Notes
platforms/nvidia_h200.envassumes the legacy directory layout under/data/user1/yy. If your H200 machine uses different paths, overrideVENV_VLLM_DSPARK,VENV_SGLANG,MODEL_ROOT, orSERVER_START_SCRIPT.- Native server management helpers are not yet as mature as the Docker helpers in
scripts/common/server_docker.sh. The H200 wrapper currently delegates to the existingscripts/start_dsv4_dspark_8card.sh.