File size: 4,590 Bytes
e1acc15 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | # 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
|