domyn-swarm#
A CLI and Python library for launching LLM serving endpoints and running high-throughput batch jobs against them, with first-class support for Slurm and NVIDIA DGX Cloud Lepton.
domyn-swarm up -c config.yaml
domyn-swarm job submit --name my-swarm --input prompts.parquet --output answers.parquet
domyn-swarm down my-swarm
Why domyn-swarm#
Serving a model at scale and running work against it are usually two unrelated
chores: one person writes the launch scripts, another writes the batch loop, and
the two agree by convention about where the endpoint lives. domyn-swarm makes
that one workflow. A YAML file describes the swarm; up stands up replicas
behind a load balancer and waits until they actually answer; job submit runs a
typed job against them with batching, retries and checkpointing; down removes
everything it created.
The same commands work on an HPC cluster and in the cloud. Only the config’s
backend section changes.
Install, launch your first swarm, and write your first custom job.
Checkpointing, sharding, data backends, and the platform-specific details.
How the pieces fit together, and why they are split the way they are.
CLI, configuration and Python API, generated from the source.
What it does#
One CLI across platforms —
up,job submit,status,downbehave the same on Slurm and LeptonEndpoints that are ready when they say they are — replicas are health-probed before
upreturns, so a job never starts against a model that is still loadingJobs that survive failure — DataFrame in, DataFrame out, with bounded concurrency, retries with backoff, and Parquet checkpointing that can resume a half-finished run
A script escape hatch — when a job class is the wrong shape, submit any Python file to the compute backend instead
Swarms you can find again — state is kept in a local SQLite database, so a swarm is addressable by name from any later command
Backends behind protocols — serving and compute are separate interfaces, so supporting a new platform adds code rather than changing it
Supported backends#
Serving and compute — where the model runs, and where jobs execute:
Backend |
Notes |
|---|---|
Slurm |
Singularity containers and a job array for replicas, behind an Nginx load balancer |
NVIDIA DGX Cloud Lepton |
Endpoint plus batch job through the Lepton SDK ( |
Data — how job input and output are read, written and iterated. See Choosing a data backend:
Backend |
Install |
|---|---|
pandas |
always available; the default |
polars |
|
ray |
|
Where to go next#
New here? Installation then Quickstart is about fifteen minutes end to end.
Already running jobs? Checkpointing and resuming and Sharding and concurrency are the two guides that most change how a long run behaves.
Debugging something? Monitoring and troubleshooting starts from the symptom.