[Fix] Use built-in random IDs for Kimi Prefill matrix

This commit is contained in:
Zhiyi Hong 2026-08-18 12:36:47 +08:00
parent 5454fb984e
commit daeffd147b
3 changed files with 8 additions and 7 deletions

View File

@ -17,8 +17,10 @@ MXFP4 MoE on NVIDIA SM120. It does not modify the existing baseline experiment.
| Repeats | 3 | | Repeats | 3 |
The eight configurations are identical except for MoE runner and chunk size. 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 The client uses SGLang `random-ids`, which produces the exact synthetic token
primary metrics; TPOT is not meaningful for this matrix. 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 ## Unique entrypoint

View File

@ -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}" 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}" 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}" BENCH_MODULE="${BENCH_MODULE:-sglang.benchmark.serving}"
RESULT_BASE="${RESULT_BASE:-${SCRIPT_DIR}/results}" RESULT_BASE="${RESULT_BASE:-${SCRIPT_DIR}/results}"
@ -31,4 +31,3 @@ HEALTH_WAIT_S="${HEALTH_WAIT_S:-2400}"
BACKENDS=(marlin flashinfer_mxfp4) BACKENDS=(marlin flashinfer_mxfp4)
CHUNKED_PREFILL_SIZES=(8192 16384) CHUNKED_PREFILL_SIZES=(8192 16384)
CONCURRENCIES=(8 16) CONCURRENCIES=(8 16)

View File

@ -78,7 +78,7 @@ sudo_host() {
check_inputs() { check_inputs() {
local path 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 "$FLASHINFER_WHEEL" "$SGLANG_SOURCE"; do
[[ -e "$path" ]] || { echo "ERROR: required path missing: $path" >&2; exit 2; } [[ -e "$path" ]] || { echo "ERROR: required path missing: $path" >&2; exit 2; }
done done
@ -254,16 +254,16 @@ run_one_bench() {
local stem="${backend}_chunk${chunk}_c${concurrency}_r${repeat}" local stem="${backend}_chunk${chunk}_c${concurrency}_r${repeat}"
local output_file="${RESULT_ROOT}/raw/${stem}.jsonl" local output_file="${RESULT_ROOT}/raw/${stem}.jsonl"
local bench_log="${RESULT_ROOT}/bench/${stem}.log" local bench_log="${RESULT_ROOT}/bench/${stem}.log"
local -a dataset_args=(--dataset-name "$BENCH_DATASET_NAME")
rm -f "$output_file" rm -f "$output_file"
log "bench backend=${backend} chunk=${chunk} C=${concurrency} repeat=${repeat}/${REPEATS}" log "bench backend=${backend} chunk=${chunk} C=${concurrency} repeat=${repeat}/${REPEATS}"
sudo_host "$HEAD_HOST" docker run --rm --network host \ sudo_host "$HEAD_HOST" docker run --rm --network host \
-v "${MODEL_PATH}:${MODEL_PATH}:ro" \ -v "${MODEL_PATH}:${MODEL_PATH}:ro" \
-v "${DATASET_PATH}:${DATASET_PATH}:ro" \
-v "${RESULT_ROOT}:${RESULT_ROOT}" \ -v "${RESULT_ROOT}:${RESULT_ROOT}" \
-e PYTHONUNBUFFERED=1 --entrypoint python3 "$CANDIDATE_IMAGE" \ -e PYTHONUNBUFFERED=1 --entrypoint python3 "$CANDIDATE_IMAGE" \
-m "$BENCH_MODULE" \ -m "$BENCH_MODULE" \
--backend sglang --host "$HEAD_HOST" --port "$PORT" \ --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-input-len "$INPUT_LEN" --random-output-len "$OUTPUT_LEN" \
--random-range-ratio 1.0 --num-prompts "$NUM_PROMPTS" \ --random-range-ratio 1.0 --num-prompts "$NUM_PROMPTS" \
--max-concurrency "$concurrency" --request-rate 10000 \ --max-concurrency "$concurrency" --request-rate 10000 \