refactor(paths): derive repository files from root
This commit is contained in:
parent
580b6c1c56
commit
359df6a7b6
@ -1,10 +1,13 @@
|
||||
# sskj — 多平台大模型推理性能基准测试项目
|
||||
|
||||
> **更新(2026-07-20 17:25:40 +0800)**
|
||||
> - RTX 6000D 的 SGLang DSV4-Flash 默认传入 `--cuda-graph-max-bs-decode 16`,避免 SM120 sparse MLA 在大 batch CUDA Graph 预捕获时 OOM。该参数仅限制预捕获图的 decode batch 上限,不限制服务的 `max-running-requests` 或 benchmark 并发;其他平台默认不受影响。
|
||||
> - H20、RTX 6000D、P800 的配置不再硬编码 sskj 仓库绝对路径:仓库内的环境、数据集、缓存和 P800 patch 均通过共享的 `${ROOT_DIR}` 推导,仓库迁移后无需逐个修改路径。
|
||||
|
||||
> **更新(2026-07-20,PR 自动化测试)**
|
||||
> - 仅用于验证 Gitee 受保护分支的自动 Pull Request 创建与评审流程;不修改实验代码、配置或结果口径。
|
||||
|
||||
> **更新(2026-07-20,`903084c`)**
|
||||
> - RTX 6000D 的 SGLang DSV4-Flash 默认传入 `--cuda-graph-max-bs-decode 16`,避免 SM120 sparse MLA 在大 batch CUDA Graph 预捕获时 OOM。该参数仅限制预捕获图的 decode batch 上限,不限制服务的 `max-running-requests` 或 benchmark 并发;其他平台默认不受影响。
|
||||
> - H20 / RTX 6000D 的 TPxDP matrix baseline 不再显式限制模型上下文或服务内并发:vLLM 使用默认 `max-model-len` / `max-num-seqs`,SGLang 使用默认 `context-length` / `max-running-requests`。
|
||||
> - SGLang 固定使用 `--moe-runner-backend marlin`;vLLM 保持框架默认 MoE backend。
|
||||
> - `run_adaptive_concurrency_add16.sh` 在首点 OOM 时会重启服务并按 `C=16 -> 8 -> 1` 回退;仅 H20 / RTX 6000D matrix 默认开启,H200 / P800 保持原行为。
|
||||
|
||||
@ -45,7 +45,7 @@ DOCKER_IMAGE="${DOCKER_IMAGE:-lmsysorg/sglang:latest}"
|
||||
# Dataset used by sglang.bench_serving --dataset-name random.
|
||||
# The random sampler needs a ShareGPT-style JSON file locally; it falls back to
|
||||
# downloading from HuggingFace, which usually fails on offline H20 nodes.
|
||||
DATASET_PATH="${DATASET_PATH:-/data1/yy/sskj/datasets/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
DATASET_PATH="${DATASET_PATH:-${ROOT_DIR}/datasets/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
|
||||
# Matrix and concurrency rules are defined in matrix.json by default.
|
||||
MATRIX_FILE="${MATRIX_FILE:-${SCRIPT_DIR:-.}/matrix.json}"
|
||||
|
||||
@ -68,7 +68,7 @@ DOCKER_CLIENT_IMAGE="${DOCKER_CLIENT_IMAGE:-lmsysorg/sglang:latest}"
|
||||
# Dataset used by sglang.bench_serving --dataset-name random.
|
||||
# The random sampler needs a ShareGPT-style JSON file locally; it falls back to
|
||||
# downloading from HuggingFace, which usually fails on offline H20 nodes.
|
||||
DATASET_PATH="${DATASET_PATH:-/data1/yy/sskj/datasets/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
DATASET_PATH="${DATASET_PATH:-${ROOT_DIR}/datasets/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
|
||||
# Matrix and concurrency rules are defined in matrix.json by default.
|
||||
MATRIX_FILE="${MATRIX_FILE:-${SCRIPT_DIR:-.}/matrix.json}"
|
||||
|
||||
@ -14,7 +14,7 @@ SGLANG_PORT="${SGLANG_PORT:-30031}"
|
||||
# Python interpreter for orchestration scripts (parse_backend.py, compare.py, etc.)
|
||||
# and the benchmark client. Defaults to the system python3 if the sglang venv
|
||||
# does not exist on the host.
|
||||
VENV_CLIENT="${VENV_CLIENT:-/data1/yy/sskj/envs/sglang}"
|
||||
VENV_CLIENT="${VENV_CLIENT:-${ROOT_DIR}/envs/sglang}"
|
||||
|
||||
# Run the benchmark client natively (0) or inside Docker (1).
|
||||
USE_DOCKER_CLIENT="${USE_DOCKER_CLIENT:-1}"
|
||||
@ -44,7 +44,7 @@ DOCKER_IMAGE="${DOCKER_IMAGE:-lmsysorg/sglang:latest}"
|
||||
# Dataset used by sglang.bench_serving --dataset-name random.
|
||||
# The random sampler needs a ShareGPT-style JSON file locally; it falls back to
|
||||
# downloading from HuggingFace, which usually fails on offline H20 nodes.
|
||||
DATASET_PATH="${DATASET_PATH:-/data1/yy/sskj/datasets/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
DATASET_PATH="${DATASET_PATH:-${ROOT_DIR}/datasets/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
|
||||
# Matrix and concurrency rules are defined in matrix.json by default.
|
||||
MATRIX_FILE="${MATRIX_FILE:-${SCRIPT_DIR:-.}/matrix.json}"
|
||||
|
||||
@ -14,7 +14,7 @@ VLLM_PORT="${VLLM_PORT:-30030}"
|
||||
# Python interpreter for orchestration scripts (parse_backend.py, compare.py, etc.)
|
||||
# and the benchmark client. Defaults to the system python3 if the sglang venv
|
||||
# does not exist on the host.
|
||||
VENV_CLIENT="${VENV_CLIENT:-/data1/yy/sskj/envs/sglang}"
|
||||
VENV_CLIENT="${VENV_CLIENT:-${ROOT_DIR}/envs/sglang}"
|
||||
|
||||
# Run the benchmark client natively (0) or inside Docker (1).
|
||||
USE_DOCKER_CLIENT="${USE_DOCKER_CLIENT:-1}"
|
||||
@ -50,7 +50,7 @@ DOCKER_CLIENT_IMAGE="${DOCKER_CLIENT_IMAGE:-lmsysorg/sglang:latest}"
|
||||
# Dataset used by sglang.bench_serving --dataset-name random.
|
||||
# The random sampler needs a ShareGPT-style JSON file locally; it falls back to
|
||||
# downloading from HuggingFace, which usually fails on offline H20 nodes.
|
||||
DATASET_PATH="${DATASET_PATH:-/data1/yy/sskj/datasets/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
DATASET_PATH="${DATASET_PATH:-${ROOT_DIR}/datasets/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
|
||||
# Matrix and concurrency rules are defined in matrix.json by default.
|
||||
MATRIX_FILE="${MATRIX_FILE:-${SCRIPT_DIR:-.}/matrix.json}"
|
||||
|
||||
@ -59,8 +59,8 @@ DOCKER_IMAGE="${DOCKER_IMAGE:-iregistry.baidu-int.com/xpu/sglang-p800-pd-disagg-
|
||||
# copy (also used by the adaptive search for capacity checks); it is mounted
|
||||
# into the container at CONTAINER_DATASET_PATH, which is what the benchmark
|
||||
# client references. Default matches the H20 experiments; the file is
|
||||
# gitignored, download it into /data1/yy/sskj/datasets/ first.
|
||||
DATASET_PATH="${DATASET_PATH:-/data1/yy/sskj/datasets/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
# gitignored, download it into ${ROOT_DIR}/datasets/ first.
|
||||
DATASET_PATH="${DATASET_PATH:-${ROOT_DIR}/datasets/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
CONTAINER_DATASET_PATH="${CONTAINER_DATASET_PATH:-/workspace/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
|
||||
# Matrix and concurrency rules are defined in matrix.json by default.
|
||||
|
||||
@ -48,9 +48,9 @@ DOCKER_IMAGE="${DOCKER_IMAGE:-sglang-sm120-dsv4:0.5.15.post1-fi0.6.14-sm120fix1}
|
||||
|
||||
# To use ShareGPT, set BENCH_DATASET_NAME=random and DATASET_PATH explicitly.
|
||||
BENCH_DATASET_NAME="${BENCH_DATASET_NAME:-random}"
|
||||
DATASET_PATH="${DATASET_PATH:-/data/yy/sskj/dataset/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
DATASET_PATH="${DATASET_PATH:-${ROOT_DIR}/dataset/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
SGLANG_BENCH_MODULE="${SGLANG_BENCH_MODULE:-sglang.benchmark.serving}"
|
||||
CACHE_DIR="${CACHE_DIR:-/data/yy/sskj/sglang_sm120_cache}"
|
||||
CACHE_DIR="${CACHE_DIR:-${ROOT_DIR}/sglang_sm120_cache}"
|
||||
|
||||
# Matrix and concurrency rules are defined in matrix.json by default.
|
||||
MATRIX_FILE="${MATRIX_FILE:-${SCRIPT_DIR:-.}/matrix.json}"
|
||||
|
||||
@ -49,9 +49,9 @@ DOCKER_CLIENT_IMAGE="${DOCKER_CLIENT_IMAGE:-sglang-sm120-dsv4:0.5.15.post1-fi0.6
|
||||
|
||||
# To use ShareGPT, set BENCH_DATASET_NAME=random and DATASET_PATH explicitly.
|
||||
BENCH_DATASET_NAME="${BENCH_DATASET_NAME:-random}"
|
||||
DATASET_PATH="${DATASET_PATH:-/data/yy/sskj/dataset/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
DATASET_PATH="${DATASET_PATH:-${ROOT_DIR}/dataset/ShareGPT_V3_unfiltered_cleaned_split.json}"
|
||||
SGLANG_BENCH_MODULE="${SGLANG_BENCH_MODULE:-sglang.benchmark.serving}"
|
||||
CACHE_DIR="${CACHE_DIR:-/data/yy/sskj/vllm_sm120_cache}"
|
||||
CACHE_DIR="${CACHE_DIR:-${ROOT_DIR}/vllm_sm120_cache}"
|
||||
|
||||
# Matrix and concurrency rules are defined in matrix.json by default.
|
||||
MATRIX_FILE="${MATRIX_FILE:-${SCRIPT_DIR:-.}/matrix.json}"
|
||||
|
||||
@ -24,4 +24,4 @@ CONTAINER_PYTHON="/root/miniconda/envs/python310_torch25_cuda/bin/python"
|
||||
|
||||
# Host mount points for patches required by the P800 SGLang image
|
||||
# These are baked into the container start command in server_docker.sh.
|
||||
PATCH_ROOT="${PATCH_ROOT:-/data1/yy/sskj/platforms/patches/kunlun_p800}"
|
||||
PATCH_ROOT="${PATCH_ROOT:-${ROOT_DIR}/platforms/patches/kunlun_p800}"
|
||||
|
||||
@ -16,9 +16,9 @@ MODEL_ROOT="/data1/hf_models"
|
||||
|
||||
# Virtual environments on the host (used by native H20 scripts).
|
||||
# Override these if your H20 machine uses different paths.
|
||||
VENV_VLLM="${VENV_VLLM:-/data1/yy/sskj/envs/vllm}"
|
||||
VENV_SGLANG="${VENV_SGLANG:-/data1/yy/sskj/envs/sglang}"
|
||||
VENV_CLIENT="${VENV_CLIENT:-/data1/yy/sskj/envs/sglang}"
|
||||
VENV_VLLM="${VENV_VLLM:-${ROOT_DIR}/envs/vllm}"
|
||||
VENV_SGLANG="${VENV_SGLANG:-${ROOT_DIR}/envs/sglang}"
|
||||
VENV_CLIENT="${VENV_CLIENT:-${ROOT_DIR}/envs/sglang}"
|
||||
|
||||
# Default server start script for the legacy benchmark grid.
|
||||
SERVER_START_SCRIPT="${SERVER_START_SCRIPT:-${ROOT_DIR}/scripts/start_dsv4_dspark_8card.sh}"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user