# Coordinator-only PP4. Source from a separate clean experiment checkout; no services start here. # Both arms use the same source/overlays, fixed5 and disabled adaptive policies. Only the two explicit sample switches vary. for pp4_inherited in SPEC_OVERRIDE EXP_EXTRA_ARGS OVERLAYS EXTRA_DOCKER_ARGS EXP_DOCKER_ENV MAX_LEN_OVERRIDE KV_BYTES_OVERRIDE; do [ -z "${!pp4_inherited-}" ] || { echo "PP4 STOP: inherited $pp4_inherited" >&2; return 1; } done case "${PP4_ROLE-}" in A) pp4_sample=0;; B) pp4_sample=1;; *) echo 'PP4 STOP: A/B required' >&2; return 1;; esac : "${PP4_NATIVE_IDENTITY:?reviewed K2 identity required}" "${PP4_NATIVE_MARKOV_IDENTITY:?reviewed Markov identity required}" : "${PP4_TRACE_RUN:?unique reviewed run tag required}" case "$PP4_TRACE_RUN" in *[!a-zA-Z0-9_-]*) echo 'PP4 STOP: invalid trace tag' >&2; return 1;; esac pp4_prod=$(set +u; . "$HOME/dsv41-deploy/dsv41.env" >/dev/null || exit 1 printf '%s\n' "${OFFLOAD_DOCKER_ENV-}" "${OFFLOAD_DSPARK_ENV-}" "${OFFLOAD_DOCKER_ARGS-}" \ "${PROD_KV_BYTES-}" "${PROD_MAX_LEN-}" "${PROD_K1-}" "${PROD_K1_PROFILE-}") || return 1 mapfile -t pp4_lines <<< "$pp4_prod" [ "${#pp4_lines[@]}" = 7 ] && [ "${pp4_lines[3]}:${pp4_lines[4]}:${pp4_lines[5]}:${pp4_lines[6]}" = 6442450944:327680:1:327680 ] \ || { echo 'PP4 STOP: production profile drift' >&2; return 1; } # Remove exactly the registered env keys, preserving every production key/value otherwise. EXP_DOCKER_ENV= for pp4_token in ${pp4_lines[0]} ${pp4_lines[1]}; do case "$pp4_token" in VLLM_DSV41_ADAPTIVE_K=*|VLLM_DSPARK_DEPTH_POLICY=*|VLLM_DSPARK_DEPTH_FILE=*|VLLM_DSPARK_LOOKUP=*|VLLM_DSPARK_REMOTE_WANT_MARGIN=*|VLLM_DSPARK_SAMPLED_TOP32=*|VLLM_DSPARK_REMOTE_IDENTITY=*|VLLM_DSPARK_REMOTE_MARKOV_IDENTITY=*) ;; *) EXP_DOCKER_ENV="${EXP_DOCKER_ENV:+$EXP_DOCKER_ENV }$pp4_token";; esac done EXP_DOCKER_ENV="$EXP_DOCKER_ENV VLLM_DSV41_ADAPTIVE_K=0 VLLM_DSPARK_DEPTH_POLICY=fixed:5 VLLM_DSPARK_DEPTH_FILE= VLLM_DSPARK_LOOKUP= VLLM_DSPARK_REMOTE_WANT_MARGIN=0 VLLM_DSPARK_SAMPLED_TOP32=$pp4_sample VLLM_DSPARK_REMOTE_IDENTITY=$PP4_NATIVE_IDENTITY VLLM_DSPARK_REMOTE_MARKOV_IDENTITY=$PP4_NATIVE_MARKOV_IDENTITY VLLM_PP4_ROUND_DIR=/pp4-round" pp4_verifier_root=offload/launch/windows/pp4-staged/verifier pp4_remote_root=offload/dspark/spark/remote_dspark if [ "${PP4_ADMISSION-0}" = 1 ]; then pp4_verifier_root=offload/launch/windows/pp4-admission-staged/verifier pp4_remote_root=$pp4_verifier_root/remote_dspark EXP_DOCKER_ENV="$EXP_DOCKER_ENV VLLM_PP4_ADMISSION_RUN=$PP4_TRACE_RUN" fi pp4_dist=/usr/local/lib/python3.12/dist-packages read -r -a pp4_mounts <<< "${pp4_lines[2]}" EXTRA_DOCKER_ARGS= pp4_i=0 pp4_remote_count=0 while [ "$pp4_i" -lt "${#pp4_mounts[@]}" ]; do [ "${pp4_mounts[$pp4_i]}" = -v ] && [ $((pp4_i + 1)) -lt "${#pp4_mounts[@]}" ] || { echo 'PP4 STOP: production mount syntax' >&2; return 1; } pp4_mount=${pp4_mounts[$((pp4_i + 1))]} case "$pp4_mount" in *:ro) ;; *) echo 'PP4 STOP: production writable mount' >&2; return 1;; esac pp4_dst=${pp4_mount%:ro}; pp4_dst=${pp4_dst#*:} case "$pp4_dst" in "$pp4_dist/vllm/v1/worker/gpu/spec_decode/remote_dspark") pp4_remote_count=$((pp4_remote_count + 1));; "$pp4_dist/vllm/v1/worker/gpu/model_runner.py"|"$pp4_dist/vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py") ;; *) EXTRA_DOCKER_ARGS="${EXTRA_DOCKER_ARGS:+$EXTRA_DOCKER_ARGS }-v $pp4_mount";; esac pp4_i=$((pp4_i + 2)) done [ "$pp4_remote_count" = 1 ] || { echo 'PP4 STOP: expected one production remote_dspark mount' >&2; return 1; } OVERLAYS="$pp4_remote_root=$pp4_dist/vllm/v1/worker/gpu/spec_decode/remote_dspark" for pp4_file in vllm/v1/worker/gpu/model_runner.py vllm/v1/worker/gpu/spec_decode/rejection_sampler_utils.py vllm/v1/worker/gpu/dsv41_pp4_round_trace.py; do [ -f "$pp4_verifier_root/$pp4_file" ] || { echo 'PP4 STOP: verifier not staged' >&2; return 1; } OVERLAYS="$OVERLAYS $pp4_verifier_root/$pp4_file=$pp4_dist/$pp4_file" done if [ "${PP4_ADMISSION-0}" = 1 ]; then pp4_file=vllm/v1/worker/gpu/dsv41_pp4_admission.py [ -f "$pp4_verifier_root/$pp4_file" ] || return 1 OVERLAYS="$OVERLAYS $pp4_verifier_root/$pp4_file=$pp4_dist/$pp4_file" fi EXTRA_DOCKER_ARGS="$EXTRA_DOCKER_ARGS -v \$HOME/dsv41-offload-run/pp4-round/$PP4_TRACE_RUN:/pp4-round:rw" SPEC_OVERRIDE='{"method":"dspark","num_speculative_tokens":5}' MAX_LEN_OVERRIDE=327680 KV_BYTES_OVERRIDE=${pp4_lines[3]} LABEL=PP4-$PP4_ROLE-fixed5 unset pp4_verifier_root pp4_remote_root pp4_prod pp4_lines pp4_inherited pp4_token pp4_sample pp4_dist pp4_mounts pp4_i pp4_remote_count pp4_mount pp4_dst pp4_file