experiment-queue

Orchestrate SSH ML experiment queues with wave-based scheduling and OOM retries.

2|1|Updated Apr 19, 2026
One-click install
npx skills add https://github.com/raja21068/AutoResearch --skill experiment-queue-raja21068
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: experiment-queue
Source: https://github.com/raja21068/AutoResearch/tree/main/skills/aris/experiment-queue
Command: npx skills add https://github.com/raja21068/AutoResearch --skill experiment-queue-raja21068

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill prevents wasted wall-clock time when running large multi-seed or multi-config ML experiment grids on SSH GPUs by handling scheduling, retries, stale screen cleanup, and wave transitions automatically.

Core Features & Use Cases

  • Batch orchestration for large runs: schedules 10+ jobs across multiple GPUs with a manifest-driven workflow.
  • OOM-aware retry & safety stops: detects CUDA OOM, kills the affected screen job, waits, requeues, and caps retry attempts.
  • Wave transitions & dependency phases: runs phased jobs (e.g., teacher→student) only when preconditions and prior-phase outputs are ready.
  • Stale screen detection & cleanup: identifies cases where the screen remains but the Python process exited, then cleans up based on expected output presence.
  • Crash-resume via persisted state: continues from an existing queue_state.json without regenerating run identifiers.

Quick Start

Use the experiment-queue skill to orchestrate a multi-phase run by describing a grid of parameters with a teacher→student dependency (e.g., “batch T5+T6 with multi-seeds, run T6 distillation only after all teacher checkpoints exist”).

Frequently Asked Questions about experiment-queue

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a large multi-seed ML grid search on remote SSH GPUs without losing progress to OOM crashes?

To run a large multi-seed ML grid search on remote SSH GPUs without losing progress to OOM crashes, use an orchestration skill that automatically detects CUDA OOM, kills the stalled screen job, waits, and requeues the experiment with a bounded retry limit. It persists state in a queue_state.json file, so you resume from the exact failure point instead of restarting the entire batch.

How do I schedule a teacher to student ML pipeline so that student distillation only starts after all teacher checkpoints exist?

To schedule a teacher to student ML pipeline so that student distillation only starts after all teacher checkpoints exist, use wave-based scheduling with dependency enforcement. This approach checks precondition outputs from the teacher phase and only launches the student phase jobs once all required prior-phase checkpoints are verified as ready.

Why does my SSH GPU screen job show as running when the Python process already exited from an out of memory error?

An SSH GPU screen job shows as running when the Python process already exited from an out of memory error because the screen terminal persists after the active process dies. Stale screen detection resolves this by identifying orphaned screens, checking for expected output files, and automatically cleaning up the dead session.

Can I batch 10+ ML experiments across multiple GPUs using a single manifest?

Yes, you can batch 10+ ML experiments across multiple GPUs using a single manifest. A manifest-driven workflow schedules all jobs across available remote GPUs with multi-GPU parallelism, handling queue bootstrapping, state persistence, and automatic wave transitions to eliminate wasted wall-clock time during large runs.

What is the best way to recover an ML experiment queue after a server disconnection?

The best way to recover an ML experiment queue after a server disconnection is to rely on persisted state. A crash-resume mechanism reads the existing queue_state.json file and continues the batch orchestration from the last recorded point without regenerating run identifiers or duplicating completed jobs.

Do I need to manually restart failed ML jobs when running a large parameter sweep?

No, you do not need to manually restart failed ML jobs when running a large parameter sweep. The orchestration skill caps retry attempts and automatically handles OOM recovery, stale screen cleanup, and phase ordering mistakes, ensuring the grid expansion completes without continuous manual intervention.