Skip to content

Your Slurm jobs, on every cluster, in one place

ssync syncs your code, submits your jobs, streams their output, and relaunches them when they time out. It works across all your HPC clusters, from your terminal, your browser, or your iPhone.

Get started in 5 minutes Take the tour GitHub

✓ Any Slurm cluster you can SSH into ✓ Nothing to install on the cluster ✓ Runs on your laptop ✓ Open source, Apache 2.0

The ssync web app showing running, queued, and finished jobs across three clusters

Stop babysitting terminals

Running experiments on several clusters usually means a dozen SSH sessions: squeue in one, tail -f in another, an rsync you hope skipped the virtualenv, and a 3 a.m. resubmit because a job hit its time limit one checkpoint short.

ssync replaces that loop with one workspace that runs on your own machine and talks to your clusters over SSH.

  • Every cluster at a glance


    Running, queued, and finished jobs from all hosts in one dense table, with array jobs grouped into a single row and live updates as states change.

  • Launch from your laptop


    ssync launch syncs your project (respecting .gitignore), applies per-cluster defaults, and submits, all in one command.

  • Live output, anywhere


    Stream stdout and stderr as they are written, search them, and open the latest lines from the job page or your phone.

  • Watchers that act for you


    Match patterns in output to cancel diverging runs, capture metrics, sync W&B, or resubmit from the last checkpoint when a job times out.

  • Know where you are in the queue


    Queued jobs show their priority rank and how many jobs are ahead of them in the partition, not just "Pending".

  • Your cluster in your pocket


    A native iPhone app with Live Activities, widgets, and notifications when jobs finish or fail.

  • Reproducible by default


    Submitted scripts and launch manifests are cached locally, so you can inspect or relaunch a job after Slurm has forgotten it.

  • Where you already work


    A CLI for scripts, a web app for the desk, an iPhone app on the go, plus Raycast and VS Code extensions.

Take the tour

A workspace built for hundreds of jobs

Click any job to inspect it beside the list, with elapsed time against the limit, the latest output, attached watchers, and a timeline of when it was submitted, started, and how long it has left.

Inspecting a running job beside the jobs list

Queued jobs that explain themselves

See why a job is waiting, its position in the partition queue, and when Slurm expects it to start.

A queued job showing its priority, position in the queue, and expected start

Automations with a clear audit trail

Every watcher shows what it matches, what it captured, and what it did.

The watchers list with a selected watcher and its recent events

Cluster capacity before you submit

Check idle CPUs and GPUs per partition across all your hosts before choosing where to launch.

Partition capacity across three clusters

And on your iPhone

Jobs on iPhone A running job on iPhone Live output on iPhone

Jobs, a running job's details, and live output, in light and dark mode.

Up and running in minutes

# 1. Install from GitHub (the "ssync" package on PyPI is an unrelated project)
git clone https://github.com/Ramlaoui/ssync.git && cd ssync
uv tool install --editable .

# 2. Point ssync at a cluster from your ~/.ssh/config
mkdir -p ~/.config/ssync && cat > ~/.config/ssync/config.yaml <<'EOF'
hosts:
  - hostname: my-cluster              # an alias from ~/.ssh/config
    work_dir: /home/your-username/work
    scratch_dir: /scratch/your-username
EOF

# 3. See every job, then open the web app
ssync status
ssync web

Read the quickstart Configure your clusters