Skip to content

chore(scripts): vast.ai sync + debug toolkit from the M11 offload audit - #41

Open
zhenyulincs wants to merge 1 commit into
zhenyu/miles-mvp-e2efrom
zhenyu/vast-debug-toolkit
Open

chore(scripts): vast.ai sync + debug toolkit from the M11 offload audit#41
zhenyulincs wants to merge 1 commit into
zhenyu/miles-mvp-e2efrom
zhenyu/vast-debug-toolkit

Conversation

@zhenyulincs

Copy link
Copy Markdown
Collaborator

What

Tracks the vast-compute tooling built and used during the M11 offload audit and smoke sessions — until now these lived only in my local working tree (scripts/ is gitignored; force-added following the precedent of the already-tracked run_smoke_*.sh).

Script Purpose
sync_to_vast.sh rsync the rlix + miles working trees to a vast instance (/root/rlix, /root/miles) and push the tooling below to /root/; --delete for exact mirror, --setup to kick off the one-shot env bootstrap, --dry-run supported. Paths/SSH key are env-overridable.
vast_setup.sh One-shot instance setup per docs/smoke-test-runbook.md: deps, model download, datasets, torch_dist checkpoint conversion, SGLang patches. Logs to /root/setup.log, ends with SETUP_DONE marker.
vast_debug_run.sh On-instance debug runner for the single/dual driver with audit-friendly logging.
debug_pipeline.py Plain-Python pipeline launcher you can open, edit, and run under an IDE debugger on the instance.
apply_sglang_patches.py Runbook Step 8 SGLang compat patches (session-based weight-update API + flush_cache fault tolerance), idempotent.
audit_gpu_sampler.sh 1 Hz sampler: whole-GPU memory.used + per-compute-process attribution, one block per second.
run_smoke_audit.sh Single-pipeline low-host-RAM audit smoke (15 GB RAM hosts where the dual smoke OOMs Ray's memory monitor).
mock_offload_test.py / mock_sglang_offload_test.py / test_offload_simple.py Standalone tms / engine offload repros used to isolate the torch-hook vs preload behavior.

Why track them

These are the reproduction path for every audit finding referenced in #17 / #31 and the smoke-test-runbook — keeping them local means nobody else can rerun the audit. sync_to_vast.sh's own tooling list is the canonical set (it ships 8 of these to /root/ on every sync).

Notes

  • Scripts only — zero library code changes.
  • No secrets: SSH key and local paths are env-overridable defaults; checked for embedded tokens/keys before pushing.
  • .gitignore untouched (scripts/ stays ignored for personal scratch; tracked files are unaffected).

Track the vast-compute tooling used throughout the offload audit and
smoke sessions (force-added past the scripts/ ignore, same as the
already-tracked run_smoke_*.sh):

- sync_to_vast.sh     rsync rlix + miles working trees to an instance
                      (env-overridable paths/key), push tooling to /root,
                      optional --setup one-shot env bootstrap
- vast_setup.sh       instance setup per docs/smoke-test-runbook.md
                      (deps, model, datasets, torch_dist ckpt, patches)
- vast_debug_run.sh   on-instance debug runner (single|dual driver)
- debug_pipeline.py   editable/IDE-debuggable pipeline launcher
- apply_sglang_patches.py  runbook Step 8 SGLang compat patches,
                      idempotent
- audit_gpu_sampler.sh 1 Hz whole-GPU + per-process memory sampler
- run_smoke_audit.sh  single-pipeline low-host-RAM audit smoke
- mock_offload_test.py / mock_sglang_offload_test.py /
  test_offload_simple.py  standalone tms/engine offload repros

No library code changes; scripts only.
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