Skip to content

launcher: clone-fix + vllm-timeout + tpu-reset + skip-stage3 + no-auto-delete - #248

Merged
PeterLi-jpg merged 1 commit into
mainfrom
launcher-5-fix-bundle
May 4, 2026
Merged

launcher: clone-fix + vllm-timeout + tpu-reset + skip-stage3 + no-auto-delete#248
PeterLi-jpg merged 1 commit into
mainfrom
launcher-5-fix-bundle

Conversation

@PeterLi-jpg

Copy link
Copy Markdown
Owner

Bundle of 5 fixes for tpu/launch_5seeds_tunix.sh hit during tonight's pipeline run. All five touch the same file so they ship together to avoid merge conflicts.

Changes

  • (a) Repo-clone check now tests ~/bohdi-lora/.git instead of just ~/bohdi-lora. A pre-populated ~/bohdi-lora/checkpoints/... no longer skips the clone and trips the next git fetch with fatal: not a git repository. Aborts loudly if the dir exists without .git/ instead of silently clobbering.
  • (b) Shell-side watchdog around each eval_healthbench.py invocation. Kills the eval with rc=124 after VLLM_WAIT_TIMEOUT (default 600s) without a Running vllm-tpu container, or rc=1 the moment a container is observed exited (logs ExitCode for postmortem). Override-rc file ensures eval_fail_count sees the right code instead of the killed-process signal exit (137/143).
  • (c) cleanup_eval now restarts the tpu-runtime container so chip state is reset between Stage-4 configs. Previously the next config's vllm inherited dirty device state and failed to init.
  • (d) Stage 3 train invocation now skips when checkpoints/seed_<N>/orbax/250/_CHECKPOINT_METADATA exists locally (resumed from GCS). Step 250 is the last reliably-complete save; step 300 is structurally invalid per PR exporter: fall back to earlier step on broken final checkpoint #242.
  • (e) cleanup() trap's delete_vm gated behind LAUNCHER_DELETE_VM_ON_EXIT, default off. Successful runs no longer auto-destroy spot slots we can't get back due to TRC capacity contention. The PREEMPTED retry path still deletes because preempted is terminal.

Test plan

  • bash -n tpu/launch_5seeds_tunix.sh
  • shellcheck --severity=error tpu/launch_5seeds_tunix.sh
  • python -m pytest tests/ -x -q (185 passed, 1 skipped)
  • Marker greps for all 5 fixes
  • Live TPU smoke (deferred; the running retry loops on local Mac will pick this up on next reacquisition)

…o-delete

bundle of 5 fixes for tpu/launch_5seeds_tunix.sh hit during tonight's
pipeline run:

a) repo-clone check now tests ~/bohdi-lora/.git, not just the dir, so a
   pre-populated ~/bohdi-lora/checkpoints/... no longer skips clone and
   trips the next git fetch. aborts loudly if the dir exists without
   .git/ instead of silently clobbering.
b) shell-side watchdog around each eval invocation. kills the eval with
   rc=124 after VLLM_WAIT_TIMEOUT (default 600s) without a Running
   vllm-tpu container, or rc=1 the moment a container is observed
   exited (logs ExitCode). overrides the killed-process signal exit so
   eval_fail_count tracking sees the right rc.
c) cleanup_eval restarts the tpu-runtime container so chip state is
   reset between Stage-4 configs. previously the next config's vllm
   inherited dirty device state and failed to init.
d) Stage 3 train invocation now skips when checkpoints/seed_<N>/orbax/
   250/_CHECKPOINT_METADATA exists locally (resumed from GCS). step
   250 is the last reliably-complete save (300 is invalid per #242).
e) cleanup() trap's delete_vm gated behind LAUNCHER_DELETE_VM_ON_EXIT,
   default off. successful runs no longer auto-destroy spot slots that
   we cannot get back due to TRC capacity contention. PREEMPTED retry
   path keeps deleting because preempted is terminal.
@PeterLi-jpg
PeterLi-jpg merged commit 8262d49 into main May 4, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant