Horus for data pipelines, simulation and AI training

Your data, accelerated.

Run your data and compute pipelines across HPC clusters, cloud GPUs and your own machines. Your team gets results without waiting on engineering.

Open Horus

Backed by and running at

Universitat Autònoma de Barcelona
Barcelona Supercomputing Center
Vall d'Hebron Research Institute
BSC AI Factory
NVIDIA Inception Program
AWS Startups
Claude for Startups
22@ Demo Day

The problem

The bottleneck isn't your team. It's the setup around it.

  1. “For my team to use HPC I need DevOps engineers, and I can't find them.”
    Head of R&D

    Scarce hires take months. The work waits.

  2. “To launch a run I depend on someone else having time.”
    Simulation engineer

    Every iteration queues behind a person. Fewer hypotheses get tested.

  3. “Installing anything on the cluster means a security review.”
    HPC admin

    Pilots die before they start.

  4. “Only the person who wrote the pipeline understands it.”
    Data science lead

    When they leave, the pipeline leaves with them.

  5. “Every loop from idea to result takes too long.”
    R&D director

    Fewer cycles per quarter. Slower decisions.

Horus is the engineering layer you don't have.

It writes the jobs, moves the files and records every result. Your team does the part only it can do.

How Horus solves it

Build it, launch it, trace it. Horus does the plumbing.

01 / 06

“Every run needs someone who knows SLURM.”

Build it visually

Drag stages onto a canvas. No DSL, no SLURM scripts. Anyone on your team can launch it.

Horus canvas builder
02 / 06

“The notebook works. Getting it onto the cluster does not.”

Bring your notebook

Decorate a Python function as a task. The same code runs on HPC or cloud.

pipeline.py
from horus_builtin.task.function import FunctionTask
@FunctionTask.task(wf, target=cluster)
def simulate(case):
return solve(case)
simulate · running on cluster
03 / 06

“Half my afternoon is scp.”

Files move themselves

Inputs and outputs are staged over SSH between your machine, the cluster and the cloud.

Your machinessh
HPC clusterssh
Cloudssh
cases.csv→ cluster
results.parquet→ cloud
model.pt← your machine
04 / 06

“We pay GPU rates to prep data.”

Each step on the hardware it needs

CPU here, GPU there. HPC or cloud, chosen per stage.

Local
any
HPC
CPU
Cloud
GPU
Prepare inputs
CPU
Simulate
CPU
Train model
GPU
Report
CPU
05 / 06

“Ten thousand jobs means ten thousand terminals.”

Sweeps at scale

Launch 10,000 simulations and track them from one place.

Parameter sweep10,000 jobs
donerunningqueued
06 / 06

“Nobody remembers which parameters made that plot.”

Every result traceable

Lineage from a plot back to the input data, parameters and machine. Cached artifacts are reused, not recomputed.

sweep_plot.png
result
model.pt
train · cloud GPU
results.parquet
simulate · HPC
cached
params.yaml + cases.csv
inputs

For IT and HPC

Your cluster stays exactly as it is.

Horus reaches it over plain SSH. No daemons, no agents, nothing new for IT to review.

Plain SSH

Horus talks to SLURM the way you do. No agent, no daemon, no service account.

Your allocation

Hours you already have get used first. Cloud only where you want it.

your laptop
$ horus run sweep.yaml
→ ssh login01.hpcconnected
→ stage params.yaml cases.csv2 files → /scratch/run-4f2a
→ sbatch simulate.shjob 81734 submitted
RUNNING simulatenode-c17
COMPLETED simulateexit 0
← pull results.parquet1 file
✓ clean /scratch/run-4f2atemp files removed
0 agents installed
on the cluster. Horus speaks plain SSH.

Your containers

The Docker and Apptainer images your team already builds.

Your data

You choose which stage leaves the cluster, and which never does.

Hybrid, by default

You already pay for the infrastructure. Let Horus use 100% of it.

One workflow fills your workstation, your GPU servers and your SLURM allocation to capacity. Only the work that does not fit spills over, to another machine of yours or to the cloud.

parameter-sweep0 queued
run log
  1. $ horus run sweep.yaml
  2. → map simulate × 24workstation
  3. Full, spilling...gpu-server
  4. Full, spilling...slurm
  5. Provisioning cloud node...cloud
  6. ✓ 24/24 placed0 idle
0 idle slots
on machines you already pay for, before the cloud starts.

Your machines, one pool

Workstations, GPU servers and your SLURM allocation take items from the same workflow.

Filled, never oversubscribed

Each machine runs as many items as its capacity allows. Extra items wait for a free slot.

Spill only what is left

When a machine is full, work spills to the next one you allowed: another of yours, or the cloud.

Cloud, on demand

Machines that exist only while your run does

When a stage needs a GPU, Horus creates the machine as the run reaches it and destroys it when the run ends. You pay in tokens only while it exists.

parameter-sweep
run log
  1. $ horus run sweep.yaml
  2. → Prepare inputslaptop
  3. Provisioning cpu nodes...Simulate
  4. Node ready.Simulate
  5. Provisioning gpu node...Train model
  6. Node ready.Train model
  7. → Reportlaptop
  8. ✓ Run completed
  9. Destroying node...Simulate · Train model
  10. Node destroyed.Simulate · Train model
0 machines left running
after the run ends. Billing stops when they are destroyed.

No cloud account

Horus creates the machine. You pick the CPUs, GPU and memory.

Mix with your cluster

Simulate on SLURM, burst to the cloud, train on a cloud GPU.

Nothing left running

Torn down when the run ends: success, failure or cancel.

Who it's for

One platform. Three people who stop waiting.

Head of R&D

More experiments from the team you have.

“Every new idea needs an engineer first.”

  • More iterations with the same team, no new hires.
  • Traceability built in: trace any result back to its inputs, parameters and machine.
IT and HPC admins

Approve it once. Every team reuses it.

“Every new tool means a security review and a queue of tickets.”

  • Plain SSH and your existing allocation.
  • Workflows validated once, reused by every team.
Researchers and engineers

Launch it yourself.

“I wait on someone else, then move files by hand.”

  • Build in the visual builder, or add @task to a Python function.
  • Real-time status for every stage.
  • Life sciences and chemistry

    Sensitive stages in house, heavy compute outside. Every result traced to its inputs.

  • Engineering and simulation

    Thousands of solver runs across your cluster and the cloud, from one workflow.

  • AI and data teams

    Prep data on CPUs, train on GPUs on demand. Nothing idle between runs.

  • Research computing centres

    Self-service for every team, on the cluster you already run.

Agents can launch and track real workflows through MCP, with full traceability.

Examples

Real pipelines, ready to run

34 documented pipelines. Each one shows which stage runs where, and why there.

  1. Prepare inputslaptop · CPU
  2. Simulate ×240SLURM · HPC
  3. Train modelcloud · H100
  4. Reportlaptop · CPU
Parameter Sweep: An example run: prepare cases on a laptop, simulate 240 of them on SLURM, train a model on a cloud H100, then report. Each stage runs on the hardware it needs.

horus-runtime: free and open source

The engine under Horus. Install it today. AGPL v3.

Join the SlackGitHub

Questions

Do I need to install anything on my cluster?

No. Horus connects over plain SSH and stages files itself. No Horus software is installed on the cluster.

Does my team need to know SLURM?

No. They build pipelines in the visual builder or with a Python @task decorator. Horus writes and submits the jobs.

Can one workflow use HPC and cloud GPUs?

Yes. Each stage declares its own resources, so every step runs on the hardware it needs: CPU, GPU, HPC or cloud.

Do I need my own cloud account?

No. For a stage you send to the cloud, such as a GPU stage, Horus creates the machine you specify when the run reaches it and destroys it when the run ends. You pay in Horus tokens only while it exists.

Is Horus open source?

The engine is. horus-runtime is on GitHub and PyPI under AGPL v3.

Can AI agents run workflows?

Yes. Horus exposes workflows over MCP, so agents can build, run and inspect them.

Run completed · 4/4

Your next result should not wait on infrastructure.

Open Horus and run your first workflow, or start with the open-source runtime today.

Open Horus