Deploy AI models on H100, A100, H200, and AMD MI300X GPUs with up to 40% cost savings. Lightning-fast machine learning inference on enterprise GPU infrastructure.
Aquanode manages and optimizes infrastructure across any cloud or your own hardware.
Supported by Nvidia Inception
We made the provider layer programmable.
01 / PROBLEM
Hunting capacity across clouds and accounts
Five clouds, five accounts, five quotas, five invoices. The free H100 is on the one you are not logged into.
→ One place, one balance. We watch every provider's capacity and rent it for you.
02 / PROBLEM
Overpaying for the same GPU
The same card is priced differently on every cloud, and the cheap one keeps moving.
→ Jobs land on the cheapest capacity available now, and move mid-run when a cheaper one appears.
03 / PROBLEM
Running the tooling yourself
A scheduler to host, agents to keep alive, snapshot scripts to keep green. A second codebase that only feeds the first.
→ You submit a command. Scheduling, checkpoints and recovery run on our side.
04 / PROBLEM
Jobs die or silently hang
A GPU gets reclaimed, or a job stops making progress and nobody notices until morning. The box billed the whole time.
→ Failed or hanging jobs retry, or move to another provider and resume from the last checkpoint.
$ aq job create --gpu h100 -- python train.pyis the whole workflow. Every handoff shows on the run page.
How a job runs on Aquanode
01 / SUBMIT
A command, a GPU, your checkpoint paths.
No image to build, no scheduler to host.
02 / PLACE
Cheapest matching capacity, any provider.
Restrict to on-demand hosts only if the job must not leave one.
03 / CHECKPOINT
Snapshots on your interval.
The first snapshot carries everything, later ones carry what changed.
04 / RECOVER
Restarts itself after a failure.
A reclaimed box or a collective that stopped making progress: detected, restored from the last checkpoint, re-run. On a new machine when the old one is gone.
console.aquanode.io/jobs/llm-finetune-01running
09:41:02placedeu-north1 · H100 80GBcheapest of 6 offers
09:43:10runningpython train.pyepoch 1/12
10:13:10checkpoint/root/ckpt4.1 GB · delta 380 MB
11:02:47job failedbox reclaimed by providerconfirmed gone
13:40:12job hungNCCL collective stalledno progress for 15 min
13:41:03restartedsame boxckpt 13:13 · epoch 10/12
14:52:30movedus-east · H100 80GBcheaper offer appeared
Workload12+ providers, 100+ regions
eu-north1
H100 80GB
cloud a
fin-01
H100 80GB
cloud b
us-east
H100 80GB
cloud c
llm-finetune-01epoch 1
placed · cheapest matching H100 across every cloud, one balance
GPU machines that keeps your work
01 / SYNC
Your working directory, straight to the GPU.
Push the directory onto the box, run it, stream the logs back. No image to build, no redeploy, no pipeline to wait on.
$ aq push
$ aq run --detach -- python train.py
02 / PORTABLE
Stop here, start on another provider.
Stop a Pod in one datacenter and start it in another, on a different card. Files, models and packages come back the way you left them.
$ aq stop training-env
$ aq start training-env --gpu L40S
03 / VERSIONING
Pin an environment like a git commit.
Keep or share an environment and it's an immutable, numbered version. Run one as a job, branch off it, or go back three versions when last night's change turned out badly.
$ aq env keep training-env v4
$ aq job point api v3
AUTO-STOP · OPT-IN PER POD
The box you forgot about stops itself.
Under 5% GPU for 30 minutes and you get a warning. At 60 the Pod's environment and volume are captured and the machine is released. Compute stops there; storage for the Pod keeps billing.
GPU 84% · ACTIVEGPU 3% · IDLE 30 MIN · WARNINGGPU 3% · IDLE 61 MIN · STOPPED
BRING YOUR OWN HARDWARE
Run Aquanode on hardware you already have.
GPUs on a long lease somewhere, or racks of your own on-prem? Bring them in and run Jobs and Pods on them the way you would on marketplace capacity, against your own storage bucket. Release the box and it keeps running; we revoke our credentials and drop the record.
Jobs and Pods alike. Utilization, VRAM, temperature and power, read off the card every few seconds. A reading the card cannot give you says so, instead of showing a zero.