Nodus vs RunPod: which is better for GPU training?
For training runs that last hours or days, Nodus is usually a better choice than RunPod. Its listed NVIDIA H100 SXM rate is below both RunPod Secure Cloud and Community Cloud, and when a machine is lost or reclaimed, Nod
For training runs that last hours or days, Nodus is usually a better choice than RunPod. Its listed NVIDIA H100 SXM rate is below both RunPod Secure Cloud and Community Cloud, and when a machine is lost or reclaimed, Nodus restores your checkpoint on a new one automatically. RunPod is the better pick when you want a GPU machine you drive by hand, a generally available multi-node cluster, or its Serverless and Public Endpoints for inference.
We build Nodus, so read this with that in mind. Every RunPod fact below links to RunPod's own pricing page or docs, the arithmetic is shown, and there is a section on where RunPod is the better choice.
How do Nodus and RunPod compare at a glance?
The core difference is the unit you buy. On RunPod you start a Pod, a machine with GPUs that you run and stop yourself. On Nodus you submit a run (a Job, TrainingJob, Function or Workspace), and the platform picks the machine, checkpoints it and replaces it if it fails.
| RunPod | Nodus | |
|---|---|---|
| What you launch | A Pod: a GPU machine you manage, in Secure Cloud or Community Cloud | A run that Nodus places on the cheapest capacity that fits your limits |
| Pricing model | Per-GPU hourly rate, billed by the second; on-demand Pods need one hour of credits up front | Prepaid credits; a funded hold is placed before work starts and renewed every 5 minutes |
| GPUs on the pricing page | RTX A5000 to B300 | RTX 3070 to B300 |
| H100 SXM listed rate | $2.69/hr Community Cloud, $3.99/hr Secure Cloud | $2.60/hr |
| Machine lost mid-run | You notice, redeploy and resume from what you saved | Automatic replacement machine with your state directory restored |
| Interruptible capacity | Pod pricing docs describe on-demand Pods; savings plans are deprecated | Opt in per run with --interruptible; checkpoint cadence adapts to how often capacity is reclaimed |
| Coding agents | Hosted MCP server that manages Pods, endpoints, templates and volumes | Hosted MCP server; creating a resource requires an accepted dry-run estimate |
| Multi-node | Instant Clusters: 2 to 8 nodes (16 to 64 GPUs), up to 3200 Gbps | Beta: 2 to 8 nodes |
| Free credit | Not listed on the pricing page | $2 after verification, $28 more after the first paid top-up, valid 30 days |
Sources: RunPod pricing, RunPod Pod pricing docs, Secure vs Community Cloud, RunPod MCP servers, Instant Clusters, the Nodus pricing page and the Nodus recovery docs. Prices checked October 25, 2026.
Is RunPod good for GPU training?
Yes, if you are comfortable running the training loop yourself. A RunPod Pod is a dedicated machine: RunPod's docs say on-demand resources "cannot be displaced by other users", and you get per-second billing with no data ingress or egress fees (Pod pricing). For a two-hour fine-tune you start, watch and stop, that is a simple and fair deal.
The work that RunPod leaves to you shows up on longer runs. You decide where checkpoints go, you notice when something stops, and you redeploy. RunPod's own docs describe two cases worth planning for:
- If you stop a Pod and someone else takes its GPU, the Pod can come back with zero GPUs. The fix RunPod recommends is a network volume, so you can deploy a new Pod and reattach your data (Zero GPU Pods).
- When your balance reaches $0, Pods stop. Pods with a network volume keep their data. Pods without one are terminated and their data "cannot be recovered" (Pod pricing).
Neither is a flaw. They come with running a raw machine yourself. The question is whether you want to handle them yourself.
Which is cheaper for a 24-hour, 8 x H100 fine-tune?
On listed rates, Nodus is cheaper than RunPod Secure Cloud by about a third and slightly cheaper than Community Cloud. We priced one job, a full fine-tune on one 8 x H100 SXM machine for 24 hours, from each company's public pricing page on October 25, 2026. That is 8 x 24 = 192 GPU-hours.
| Where it runs | Listed H100 SXM rate | 192 GPU-hours |
|---|---|---|
| RunPod Secure Cloud | $3.99/hr | $766.08 |
| RunPod Community Cloud | $2.69/hr | $516.48 |
| Nodus | $2.60/hr | $499.20 |
Prices checked October 25, 2026: RunPod pricing and the hourly supply prices on the Nodus pricing page. GPU rates only. RunPod's per-GPU Pod price includes the vCPUs and RAM listed next to it; storage is extra on RunPod, for example a network volume at $0.07/GB/month under 1 TB.
Against Secure Cloud, the same run costs $266.88 less on Nodus. Against Community Cloud the gap is $17.28, small enough that it should not decide anything on its own. RunPod's docs describe Community Cloud as peer-to-peer providers with "variable" reliability, and Secure Cloud as T3/T4 data centers for production work (Choose a Pod). For a day-long run, Secure Cloud is the fairer comparison.
The picture is similar across cards. Nodus lists the A100 80 GB at $1.09/hr against $1.39 (Community) and $1.79 (Secure) for an A100 SXM on RunPod, and the B200 at $5.50/hr against $5.98 and $7.99. On the H200 and B300, RunPod Community Cloud and Nodus are within a cent of each other ($3.59 vs $3.593, $6.94 vs $6.943), while Secure Cloud is $5.29 and $8.99.
Before you launch on Nodus, nodus run --dry-run prints the expected cost of your exact run, so you can check the estimate instead of trusting a table.
What happens to a run when a machine is lost or your credit runs out?
This is where the platforms differ most, and it matters more than the hourly rate on long runs. On RunPod, recovery is a process you run. On Nodus, it is part of the platform.
Take the 24-hour job above and assume the machine dies at hour 20, with the last checkpoint saved at hour 19.5. On both platforms you redo half an hour of work, which is 0.5 x 8 x $3.99 = $15.96 on RunPod Secure Cloud and 0.5 x 8 x $2.60 = $10.40 on Nodus. On RunPod the bigger cost is usually time: the run sits idle until someone notices and redeploys onto a new Pod.
On Nodus, a machine that stops sending heartbeats gets a replacement prepared after 20 seconds, and after 60 seconds it is declared lost and replaced. The new attempt starts with your state directory restored, and an attempt that comes back late can never overwrite its successor (attempts and recovery). If capacity is reclaimed with notice, Nodus asks your program for an urgent checkpoint and prepares the replacement at the same time.
Running out of money is handled the same way. A checkpointed Nodus Job takes an urgent checkpoint, suspends, and resumes on its own once you top up, while a RunPod Pod without a network volume is terminated at a $0 balance.
The same machinery is what makes cheaper interruptible capacity safe to use. Add --interruptible to a run and Nodus may place it on reclaimable machines, with a checkpoint cadence set from how often that capacity is interrupted. For the code side, see how to resume training after a spot preemption, and for when interruptible capacity is worth it, spot vs on-demand GPUs.
Can Claude Code, Codex or Cursor launch training runs on each?
Yes on both, and they work differently. RunPod's API MCP server lets an agent create and manage Pods, Serverless endpoints, templates, network volumes and registries (RunPod MCP servers). The agent gets a machine, and then it, or you, has to drive the training and remember to stop it. RunPod does apply a default account spend limit of $80/hour across all resources (Pod pricing).
On Nodus the agent launches a run, not a machine. It can estimate what a manifest would cost, and creating the resource requires an accepted dry run, so you see the price before anything starts. The agent acts with the role and scopes you choose when you connect it, and your per-run caps and Budgets still apply (Nodus MCP guide). To set it up locally:
pip install nodus-compute
nodus login
nodus mcp install claude
A run the agent starts on Nodus also gets the recovery described above, which matters when nobody is watching the terminal.
Can you use Nodus with your existing RunPod account?
Yes, in Beta. Nodus can place your work in a RunPod account you connect with its API key, so you keep spending RunPod credits while getting Nodus checkpoints, recovery and caps (connect your cloud accounts). The feature is turned on per organization, so ask Nodus support first. Then connect the account with a credit limit:
printf '%s' "$RUNPOD_API_KEY" | nodus cloud connect runpod my-runpod --credit-limit 200
Nodus then places Jobs, Workspaces and other single-node work in that account first, up to the limit. When the account is full or out of credit, --burst decides what happens: run on Nodus capacity (the default), wait for your approval, or wait for your account. Sandboxes and multi-node runs use Nodus capacity, and each attempt's page shows where it ran. Routing work into your own account is a billed feature, and the console shows its price before you turn it on.
Where is RunPod the better choice?
Pick RunPod in these cases:
- You want a generally available multi-node cluster today. RunPod Instant Clusters run 2 to 8 nodes of B200, H200 or H100 (16 to 64 GPUs) at 3200 Gbps between nodes, and offer managed Slurm (Instant Clusters). Multi-node training on Nodus is in Beta, and public traffic between nodes is not encrypted in the Beta.
- Your workload is inference, not training. RunPod lists per-second Serverless workers and pay-per-request Public Endpoints for pre-deployed image and audio models (Serverless, Public Endpoints). Hosted inference on Nodus is in Beta.
- You want one specific box. If you keep a machine for weeks, install things by hand and treat it like a workstation, a Pod is the direct answer. Nodus Workspaces cover this too, with a saved home directory.
- You move a lot of data. RunPod states no fees for data ingress or egress on Pods (Pod pricing).
- Community Cloud already fits your price. On the H200 and B300, Community Cloud lists a rate a fraction of a cent below Nodus.
How do you move a RunPod training script to Nodus?
Point your checkpoint path at the Nodus state directory, with your RunPod path as the fallback, and the same script runs on both:
import os, torch
STATE_DIR = os.environ.get("NODUS_STATE_DIR", "/workspace/ckpt") # /workspace is your RunPod volume
CKPT = os.path.join(STATE_DIR, "ckpt.pt")
def save(step, model, opt):
os.makedirs(STATE_DIR, exist_ok=True)
tmp = CKPT + ".tmp"
torch.save({"model": model.state_dict(), "opt": opt.state_dict(), "step": step}, tmp)
os.replace(tmp, CKPT) # atomic: a checkpoint never sees a half-written file
def load(model, opt):
if not os.path.exists(CKPT):
return 0
s = torch.load(CKPT)
model.load_state_dict(s["model"]); opt.load_state_dict(s["opt"])
return s["step"]
Then check the estimate and launch with a cap a little above it:
nodus run --dry-run --gpu H100:8 --expected-duration 24h -- torchrun --nproc_per_node 8 train.py
nodus run --gpu H100:8 --checkpoint /nodus/state --max-cost 550 -d -- torchrun --nproc_per_node 8 train.py
Nodus restores files, not process memory, so your program must call load() on start. If you are also weighing Modal, the Nodus vs Modal comparison covers the same questions for it.
FAQ
Does RunPod charge for storage while a Pod is stopped?
Yes, for volume disks: $0.20/GB/month while the Pod is stopped, double the running rate, while container disk is erased on stop and not charged (Pod pricing). A 500 GB volume left on a stopped Pod costs $100 a month.
Can I cap what a single training run spends?
On Nodus, --max-cost sets a dollar cap per run, and a checkpointed Job that reaches it checkpoints and suspends until you raise the cap. RunPod's main guardrail is an account-wide default limit of $80/hour, which you can raise through support.
Does Nodus have managed fine-tuning, or only raw jobs?
Both. Besides plain Jobs, Nodus TrainingJobs (Beta) run managed runtimes for SFT, LoRA, DPO, GRPO, distillation and continued pretraining, and price the run before it starts.
Which GPUs can I get on each?
Both list the newest NVIDIA cards up to the B300. Nodus also lists low-cost consumer cards down to the RTX 3070 at $0.133/hr, useful for tests and small evaluations.
Originally published on the Nodus blog.
Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.