sskj/docs/H200_QUICKSTART.md
Quantong Qiu a5d69dfd9a docs(h200): H200 quick-start guide, porting workflow, and example experiment
- 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.
2026-07-08 05:55:11 +00:00

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 (uses sglang.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.env assumes the legacy directory layout under /data/user1/yy. If your H200 machine uses different paths, override VENV_VLLM_DSPARK, VENV_SGLANG, MODEL_ROOT, or SERVER_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 existing scripts/start_dsv4_dspark_8card.sh.