From daeffd147b218ac3beb3142d2229f096b8c1ca53 Mon Sep 17 00:00:00 2001 From: Zhiyi Hong <2497491955@qq.com> Date: Tue, 18 Aug 2026 12:36:47 +0800 Subject: [PATCH] [Fix] Use built-in random IDs for Kimi Prefill matrix --- .../README.md | 6 ++++-- .../config.env | 3 +-- .../run_moe_backend_prefill.sh | 6 +++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/experiments/pro6000/kimi3_pro6000_sglang_tp32ep32_moe_backend_prefill/README.md b/experiments/pro6000/kimi3_pro6000_sglang_tp32ep32_moe_backend_prefill/README.md index cd5e012..2b3a0aa 100644 --- a/experiments/pro6000/kimi3_pro6000_sglang_tp32ep32_moe_backend_prefill/README.md +++ b/experiments/pro6000/kimi3_pro6000_sglang_tp32ep32_moe_backend_prefill/README.md @@ -17,8 +17,10 @@ MXFP4 MoE on NVIDIA SM120. It does not modify the existing baseline experiment. | Repeats | 3 | The eight configurations are identical except for MoE runner and chunk size. -Radix cache is disabled. `OSL=1` makes TTFT, E2E latency and input TPS the -primary metrics; TPOT is not meaningful for this matrix. +The client uses SGLang `random-ids`, which produces the exact synthetic token +length without depending on a ShareGPT file or text truncation. Radix cache is +disabled. `OSL=1` makes TTFT, E2E latency and input TPS the primary metrics; +TPOT is not meaningful for this matrix. ## Unique entrypoint diff --git a/experiments/pro6000/kimi3_pro6000_sglang_tp32ep32_moe_backend_prefill/config.env b/experiments/pro6000/kimi3_pro6000_sglang_tp32ep32_moe_backend_prefill/config.env index 7f067cf..f1e8b18 100644 --- a/experiments/pro6000/kimi3_pro6000_sglang_tp32ep32_moe_backend_prefill/config.env +++ b/experiments/pro6000/kimi3_pro6000_sglang_tp32ep32_moe_backend_prefill/config.env @@ -17,7 +17,7 @@ FLASHINFER_TARGET="${FLASHINFER_TARGET:-/tmp/hzy-fi-situ-phase3-v3}" FLASHINFER_WHEEL="${FLASHINFER_WHEEL:-/data/hzy/artifacts/flashinfer-kimi-sm120-situ-phase3-v3/flashinfer_python-0.6.18-py3-none-any.whl}" SGLANG_SOURCE="${SGLANG_SOURCE:-/data/hzy/src/sglang-kimi-sm120/python/sglang}" -DATASET_PATH="${DATASET_PATH:-${ROOT_DIR}/dataset/ShareGPT_V3_unfiltered_cleaned_split.json}" +BENCH_DATASET_NAME="${BENCH_DATASET_NAME:-random-ids}" BENCH_MODULE="${BENCH_MODULE:-sglang.benchmark.serving}" RESULT_BASE="${RESULT_BASE:-${SCRIPT_DIR}/results}" @@ -31,4 +31,3 @@ HEALTH_WAIT_S="${HEALTH_WAIT_S:-2400}" BACKENDS=(marlin flashinfer_mxfp4) CHUNKED_PREFILL_SIZES=(8192 16384) CONCURRENCIES=(8 16) - diff --git a/experiments/pro6000/kimi3_pro6000_sglang_tp32ep32_moe_backend_prefill/run_moe_backend_prefill.sh b/experiments/pro6000/kimi3_pro6000_sglang_tp32ep32_moe_backend_prefill/run_moe_backend_prefill.sh index e22792f..ed6cb7d 100755 --- a/experiments/pro6000/kimi3_pro6000_sglang_tp32ep32_moe_backend_prefill/run_moe_backend_prefill.sh +++ b/experiments/pro6000/kimi3_pro6000_sglang_tp32ep32_moe_backend_prefill/run_moe_backend_prefill.sh @@ -78,7 +78,7 @@ sudo_host() { check_inputs() { local path - for path in "$MODEL_PATH" "$DATASET_PATH" "$FLASHINFER_TARGET/flashinfer" \ + for path in "$MODEL_PATH" "$FLASHINFER_TARGET/flashinfer" \ "$FLASHINFER_WHEEL" "$SGLANG_SOURCE"; do [[ -e "$path" ]] || { echo "ERROR: required path missing: $path" >&2; exit 2; } done @@ -254,16 +254,16 @@ run_one_bench() { local stem="${backend}_chunk${chunk}_c${concurrency}_r${repeat}" local output_file="${RESULT_ROOT}/raw/${stem}.jsonl" local bench_log="${RESULT_ROOT}/bench/${stem}.log" + local -a dataset_args=(--dataset-name "$BENCH_DATASET_NAME") rm -f "$output_file" log "bench backend=${backend} chunk=${chunk} C=${concurrency} repeat=${repeat}/${REPEATS}" sudo_host "$HEAD_HOST" docker run --rm --network host \ -v "${MODEL_PATH}:${MODEL_PATH}:ro" \ - -v "${DATASET_PATH}:${DATASET_PATH}:ro" \ -v "${RESULT_ROOT}:${RESULT_ROOT}" \ -e PYTHONUNBUFFERED=1 --entrypoint python3 "$CANDIDATE_IMAGE" \ -m "$BENCH_MODULE" \ --backend sglang --host "$HEAD_HOST" --port "$PORT" \ - --dataset-name random --dataset-path "$DATASET_PATH" \ + "${dataset_args[@]}" \ --random-input-len "$INPUT_LEN" --random-output-len "$OUTPUT_LEN" \ --random-range-ratio 1.0 --num-prompts "$NUM_PROMPTS" \ --max-concurrency "$concurrency" --request-rate 10000 \