- Add RESUME_RUN_ID env var for breakpoint resume in adaptive benchmarks.
When set, the script reuses an existing result directory and skips
already-tested (TP, DP, ISL, OSL) shapes based on adaptive_shapes.jsonl.
- Fix RUN_ID unbound variable in resume mode.
- Fix jq query to use -s (slurp) for jsonl files.
- Add resume skip logic to DRY_RUN mode as well.
- Rename DSL -> OSL across all adaptive benchmark files for consistency:
- scripts/common/adaptive_bench_lib.sh
- scripts/common/adaptive_concurrency.py
- experiments/dsv4_h200_vllm_tp_dp_matrix/adaptive_config.env
- experiments/dsv4_h200_vllm_tp_dp_matrix/run_adaptive_concurrency.sh
- experiments/dsv4_h200_sglang_tp_dp_matrix/adaptive_config.env
- experiments/dsv4_h200_sglang_tp_dp_matrix/run_adaptive_concurrency.sh
- experiments/ADAPTIVE_CONCURRENCY_USAGE.md
- Fix docker invalid reference format by exporting DOCKER_IMAGE and
USE_DOCKER_CLIENT to bash subshells (run_bench_serving)
- Add persistent container mode: start_sglang_container.sh +
run_sglang_in_container.sh for faster config switching
- Add README.md with setup and migration guide
export -f only exports the function definition, not the variables it
references. MODEL_PATH and RESULT_BASE were empty inside timeout bash -c
subshells, causing docker run -v ::ro invalid spec. Add explicit export
for all variables used by run_bench_serving().
export -f only exports the function definition, not the variables it
references. DATASET_PATH was empty inside timeout bash -c subshells,
causing docker run -v ::ro invalid spec even after the dynamic vol_args
fix. Add explicit export after sourcing config.env.
When DATASET_PATH is empty, -v ::ro is passed to docker run, which
produces 'invalid spec: ::ro: empty section between colons'. Build
the volume args dynamically and only add the dataset mount when the
path is non-empty.
timeout(1) cannot execute shell functions directly; it needs a standalone
command. Export run_bench_serving via export -f and wrap both warmup and
scenario runs in bash -c so the function is visible in the subshell.
- config.env: switch to /data/models/DeepSeek-V4-Flash, USE_DOCKER=1,
CONTEXT_LENGTH=1M, CONCURRENCY_SAMPLES=2, add DATASET_PATH.
- start_sglang_docker.sh: add --ipc host --shm-size 16g for NCCL.
- start_sglang_dp.sh: use --model-path for Docker CLI.
- run_bench.sh: mount dataset into client container and pass --dataset-path
to avoid HF download on offline nodes.