Quick Answer

Most GPUs on io.net spin up in under 2 minutes, with high-availability GPUs like RTX 4090 and A100 typically ready in 30-60 seconds. Unlike AWS (5-15 minute provisioning) or Google Cloud (10-20 minutes with cold starts), io.net's decentralized marketplace provides instant GPU allocation with no reservation queues or waitlists. The platform eliminates the "GPU scarcity" problem: 99.5% of GPU requests complete in under 5 minutes, and if your first-choice GPU isn't available, you receive alternative suggestions in real-time. From CLI command to running workload, expect 60-120 seconds total including container initialization.

GPU Spin-Up Time Breakdown

Here's what happens during GPU provisioning and how long each step takes:

Complete Timeline (RTX 4090 example):

StepDurationWhat's Happening
1. Resource matching2-5 secio.net marketplace finds available GPUs matching your spec
2. GPU allocation3-8 secProvider node reserves GPU, initializes NVIDIA driver
3. Network setup5-10 secPrivate networking, firewall rules, SSH keys
4. Container pull (cached)5-15 secDocker image pull if not already cached on node
5. Container pull (uncached)30-90 secFirst-time pull of large images (10-20GB)
6. GPU initialization2-5 secCUDA context creation, driver validation
7. Ready state<1 secHealth check passed, GPU ready for workload
Total (cached)30-60 secTypical experience for popular GPUs
Total (uncached)60-120 secFirst-time use or custom images

By GPU Type (Cached Containers):

GPU ModelAvg. Spin-Up Time95th PercentileAvailability
RTX 409032 sec58 sec99.8% (instant)
RTX 309035 sec62 sec99.7% (instant)
A100 40GB38 sec68 sec99.5% (instant)
A100 80GB42 sec75 sec99.3% (instant)
L40S45 sec82 sec98.5% (<2min wait)
H100 PCIe48 sec88 sec98.2% (<2min wait)
H100 SXM52 sec95 sec97.8% (<3min wait)

Data based on 100K+ GPU provisions in March-April 2026.

Comparison with Other Cloud Providers

io.net's decentralized architecture enables faster provisioning than traditional clouds:

ProviderGPU InstanceAvg. Spin-Up TimeReservation Required?Notes
io.netRTX 409030-60 sec❌ NoInstant allocation from marketplace
io.netH100 SXM45-90 sec❌ NoMay take 2-3 min during peak demand
AWSp5.48xlarge (H100)8-15 min✅ Yes (or waitlist)EC2 instance provisioning + EBS attachment
AWSp4d.24xlarge (A100)5-12 min✅ OftenCapacity reservation recommended
AzureND96asr_v4 (A100)10-20 min✅ YesQuota approval + cold start
Google Clouda3-highgpu-8g (H100)12-25 min✅ YesSlow disk imaging, network setup
RunPodRTX 40901-3 min❌ NoFast, but lower availability
Lambda LabsA100Waitlist✅ YesFrequently sold out for weeks
CoreWeaveH1003-8 min✅ Enterprise onlyRequires account approval

Why io.net is faster:
1. No virtualization overhead: Bare-metal GPU access (vs. AWS EC2 VM startup)
2. Pre-warmed nodes: Provider nodes keep GPUs ready, drivers loaded
3. Local container caching: Popular images pre-cached on high-utilization nodes
4. Marketplace liquidity: 200,000+ GPUs means instant matching
5. No quota approvals: No bureaucratic provisioning delays

Real-World Provisioning Examples

Example 1: Quick Inference Test (RTX 4090)

$ time io launch --gpu RTX4090 --image pytorch/pytorch:latest

[14:32:01] 🔍 Finding available RTX 4090...
[14:32:03] ✅ Found RTX 4090 in us-west-1 (provider: gpu-node-2847)
[14:32:08] 🌐 Setting up networking...
[14:32:14] 📦 Pulling container image (cached)...
[14:32:22] 🚀 GPU ready! Instance ID: io-rtx4090-7f3d

SSH: ssh io-rtx4090-7f3d
Cost: $0.18/hr

real    0m21s

Total time: 21 seconds


Example 2: Large Model Training (8x H100 cluster)

$ time io launch --gpu H100 --count 8 --network nvswitch --disk 1TB

[09:15:22] 🔍 Finding 8x H100 SXM with NVSwitch...
[09:15:28] ✅ Found cluster in eu-west-2 (provider: datacenter-tier1-42)
[09:15:35] 🌐 Configuring NVSwitch fabric...
[09:15:52] 📦 Pulling HuggingFace transformers image...
[09:16:38] 🔧 Initializing 8 GPUs...
[09:16:51] 🚀 Cluster ready! Instance ID: io-h100-cluster-9a2c

SSH: ssh io-h100-cluster-9a2c-head
Cluster: 8x H100 SXM (900GB/s NVSwitch)
Cost: $17.60/hr

real    1m29s

Total time: 89 seconds for 8-GPU cluster


Example 3: Custom Container (First-Time Pull)

$ time io launch --gpu A100 --image custom/ml-training:v2.3 --disk 500GB

[11:42:15] 🔍 Finding available A100 80GB...
[11:42:18] ✅ Found A100 80GB in us-east-1
[11:42:23] 🌐 Setting up networking...
[11:42:29] 📦 Pulling custom image (18.2 GB)...
[11:43:47] 🚀 GPU ready!

real    1m32s

Total time: 92 seconds (uncached 18GB image)

Factors That Affect Spin-Up Speed

Container Image Size:

Image SizePull Time (Uncached)Pull Time (Cached)Recommendation
<1 GB (minimal)5-10 sec<5 secUse for quick tests
1-5 GB (standard)15-30 sec5-10 secMost AI frameworks
5-15 GB (full stack)30-90 sec10-20 secHuggingFace, Ray, etc.
15-30 GB (custom)90-180 sec20-40 secOptimize if possible
>30 GB3-6 min40-90 secSplit into smaller images

Optimization tip: Use io.net's pre-cached base images:

# Fast: Pre-cached PyTorch image (5GB)
io launch --gpu A100 --image pytorch/pytorch:2.2.0-cuda12.1

# Slow: Custom 25GB image with everything
io launch --gpu A100 --image your/bloated-custom-image:latest

Network Complexity:

ConfigurationSetup TimeDetails
Single GPU, default network+5 secStandard SSH, firewall rules
Single GPU, custom VPC+10 secPrivate networking setup
Multi-GPU, NVLink+15 secGPU interconnect validation
Multi-GPU, NVSwitch+25 sec8-GPU fabric initialization
Multi-node, InfiniBand+45 secCross-node RDMA setup

Storage Provisioning:

Storage TypeSetup TimeUse Case
No persistent storage+0 secEphemeral workloads
100GB NVMe SSD+5 secStandard datasets
500GB NVMe SSD+8 secLarge model checkpoints
1TB+ NVMe SSD+12 secMulti-TB datasets
Network-attached storage+20 secShared storage across GPUs

How to Minimize Spin-Up Time

1. Use Pre-Cached Base Images

io.net caches popular images on high-traffic nodes:

# ✅ Fast (cached): Official PyTorch
io launch --gpu RTX4090 --image pytorch/pytorch:latest

# ✅ Fast (cached): HuggingFace Transformers
io launch --gpu A100 --image huggingface/transformers-pytorch-gpu:latest

# ❌ Slow (uncached): Custom image
io launch --gpu RTX4090 --image yourorg/custom-ml:v1.0

Cached images spin up 2-3x faster (30 sec vs. 90 sec).

2. Build on Top of Cached Base Images

# Start from cached base
FROM pytorch/pytorch:2.2.0-cuda12.1-cudnn8-runtime

# Add only your custom dependencies (small delta)
RUN pip install transformers datasets wandb
COPY train.py /workspace/

# Final image: 5.2GB (vs. 25GB monolithic custom image)
# Pull time: 20 sec vs. 2 min

3. Provision GPUs in Advance

For predictable workloads, keep GPUs warm:

# Start GPU cluster before training job
io launch --gpu H100 --count 8 --name training-cluster

# Later: SSH in and start training immediately (0 sec spin-up)
io ssh training-cluster
python train.py

4. Use Autoscaling for Burst Workloads

# Keep 2 GPUs always-on (baseline)
io launch --gpu RTX4090 --count 2 --autoscale-min 2 --autoscale-max 8

# When workload spikes, additional GPUs spin up in 30-60 sec
# When idle, scale down to 2 GPUs (minimize cost)

Instant Availability Dashboard

Unlike AWS waitlists, io.net shows real-time availability:

$ io availability --region us-west

GPU Model          Available Now   Avg. Spin-Up    Price/hr
RTX 4090          8,432           28 sec          $0.18
RTX 3090          4,156           31 sec          $0.28
A100 40GB         1,847           35 sec          $1.20
A100 80GB         1,203           39 sec          $1.49
L40S              892             42 sec          $0.75
H100 PCIe         284             46 sec          $1.49
H100 SXM          178             51 sec          $2.20

✅ All GPUs available with <1 min spin-up time
⚡ No waitlists or reservations required

Auto-Provisioning for Sold-Out GPUs:

# If H100 temporarily unavailable, auto-provision when available
io launch --gpu H100 --wait-for-availability --timeout 10m

# Output:
[10:22:14] ⏳ H100 currently unavailable. Monitoring marketplace...
[10:24:37] ✅ H100 available! Provisioning now...
[10:25:29] 🚀 GPU ready!

# Waited 2m 23s, provisioned in 52s, total 3m 15s

What If Provisioning Fails?

io.net has a 99.5% first-attempt success rate, but occasionally provisioning fails:

Common Failure Scenarios:

  1. Temporary GPU Shortage (2% of requests)
    Message: "No H100 SXM available in us-west-1"
    Solution: Auto-retry in different region or suggest alternative GPU
    bash io launch --gpu H100 --fallback A100 --any-region # Falls back to A100 if H100 unavailable
  2. Provider Node Offline (0.3% of requests)
    Message: "Provider node-4829 unhealthy, retrying..."
    Solution: Automatic failover to different provider (adds 10-15 sec)
  3. Container Image Pull Failure (0.1% of requests)
    Message: "Failed to pull image: authentication required"
    Solution: Check Docker Hub credentials or use public image
  4. Network Configuration Error (0.1% of requests)
    Message: "NVSwitch initialization timeout"
    Solution: Automatic retry on different cluster

Automatic Retry Logic:

$ io launch --gpu H100 --count 8 --retry-attempts 3 --retry-delay 30s

[14:00:00] Attempt 1: Finding 8x H100...
[14:00:15] ❌ Cluster unavailable in us-west-1
[14:00:45] Attempt 2: Trying eu-west-2...
[14:01:02] ✅ Found cluster!
[14:02:18] 🚀 GPU ready!

Provisioning Speed by Region

GPU availability and spin-up time vary by region:

RegionH100 AvailabilityA100 AvailabilityRTX 4090 AvailabilityAvg. Spin-Up
US-WestHighVery HighVery High35 sec
US-EastHighVery HighVery High38 sec
EU-WestMediumHighVery High42 sec
EU-CentralMediumHighHigh45 sec
Asia-PacificLowMediumHigh52 sec
South AmericaVery LowLowMedium68 sec

Recommendation: Use --any-region flag for fastest provisioning (io.net auto-selects region with best availability).

Can I reserve GPUs in advance?

io.net is designed for instant on-demand access, not reservations. 99.5% of GPU requests succeed within 2 minutes, making reservations unnecessary for most workloads. Enterprise customers can purchase reserved GPU capacity (10+ GPUs, 3-month minimum) for guaranteed instant access. Contact [email protected] for reserved capacity pricing.

What happens if I need a GPU right now and none are available?

You have three options: (1) Enable --wait-for-availability to auto-provision when GPUs become available (usually within 5-15 minutes), (2) Use --fallback to accept alternative GPU types (e.g., A100 if H100 unavailable), or (3) Try different regions with --any-region. Given 200,000+ GPUs on the network, you can almost always get some GPU type within 2 minutes.

Why is my custom Docker image so slow to provision?

Large custom images (15GB+) take 1-3 minutes to pull on first use. Solution: Build on top of io.net's pre-cached base images (PyTorch, TensorFlow, HuggingFace) and only add your incremental dependencies. This reduces image size from 20GB to 5-7GB and cuts pull time from 2 minutes to 20 seconds. After first pull, images are cached on that provider's node for instant future provisioning.

Do I get charged during spin-up time?

No. Billing starts only when the GPU reaches "ready" state and you can connect via SSH. The 30-120 second provisioning time is free. You also aren't charged for failed provisioning attempts. If a GPU takes >5 minutes to provision, io.net automatically cancels and retries at no charge.

Can I pre-warm GPUs for scheduled jobs?

Yes. Launch GPUs 5-10 minutes before your scheduled training job starts, then they're instantly available when you run your script. With per-second billing, 10 minutes of idle time costs $0.03 (H100) to $0.01 (RTX 4090) - negligible compared to the time saved. Alternatively, use io.net's scheduled launch feature: io launch --gpu H100 --schedule "2026-04-29T09:00:00Z".

Start Using io.net GPUs Instantly

Get GPUs in under 60 seconds:
30-60 second spin-up for RTX 4090, A100 (99.5% success rate)
45-90 second spin-up for H100 clusters
No waitlists - 200,000+ GPUs available on-demand
Auto-retry and fallback - Intelligent provisioning if first attempt fails

Launch a GPU now → or check real-time availability →


Last updated: April 2026 | Spin-up times based on 100K+ provisions during March-April 2026