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):
| Step | Duration | What's Happening |
|---|---|---|
| 1. Resource matching | 2-5 sec | io.net marketplace finds available GPUs matching your spec |
| 2. GPU allocation | 3-8 sec | Provider node reserves GPU, initializes NVIDIA driver |
| 3. Network setup | 5-10 sec | Private networking, firewall rules, SSH keys |
| 4. Container pull (cached) | 5-15 sec | Docker image pull if not already cached on node |
| 5. Container pull (uncached) | 30-90 sec | First-time pull of large images (10-20GB) |
| 6. GPU initialization | 2-5 sec | CUDA context creation, driver validation |
| 7. Ready state | <1 sec | Health check passed, GPU ready for workload |
| Total (cached) | 30-60 sec | Typical experience for popular GPUs |
| Total (uncached) | 60-120 sec | First-time use or custom images |
By GPU Type (Cached Containers):
| GPU Model | Avg. Spin-Up Time | 95th Percentile | Availability |
|---|---|---|---|
| RTX 4090 | 32 sec | 58 sec | 99.8% (instant) |
| RTX 3090 | 35 sec | 62 sec | 99.7% (instant) |
| A100 40GB | 38 sec | 68 sec | 99.5% (instant) |
| A100 80GB | 42 sec | 75 sec | 99.3% (instant) |
| L40S | 45 sec | 82 sec | 98.5% (<2min wait) |
| H100 PCIe | 48 sec | 88 sec | 98.2% (<2min wait) |
| H100 SXM | 52 sec | 95 sec | 97.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:
| Provider | GPU Instance | Avg. Spin-Up Time | Reservation Required? | Notes |
|---|---|---|---|---|
| io.net | RTX 4090 | 30-60 sec | ❌ No | Instant allocation from marketplace |
| io.net | H100 SXM | 45-90 sec | ❌ No | May take 2-3 min during peak demand |
| AWS | p5.48xlarge (H100) | 8-15 min | ✅ Yes (or waitlist) | EC2 instance provisioning + EBS attachment |
| AWS | p4d.24xlarge (A100) | 5-12 min | ✅ Often | Capacity reservation recommended |
| Azure | ND96asr_v4 (A100) | 10-20 min | ✅ Yes | Quota approval + cold start |
| Google Cloud | a3-highgpu-8g (H100) | 12-25 min | ✅ Yes | Slow disk imaging, network setup |
| RunPod | RTX 4090 | 1-3 min | ❌ No | Fast, but lower availability |
| Lambda Labs | A100 | Waitlist | ✅ Yes | Frequently sold out for weeks |
| CoreWeave | H100 | 3-8 min | ✅ Enterprise only | Requires 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 Size | Pull Time (Uncached) | Pull Time (Cached) | Recommendation |
|---|---|---|---|
| <1 GB (minimal) | 5-10 sec | <5 sec | Use for quick tests |
| 1-5 GB (standard) | 15-30 sec | 5-10 sec | Most AI frameworks |
| 5-15 GB (full stack) | 30-90 sec | 10-20 sec | HuggingFace, Ray, etc. |
| 15-30 GB (custom) | 90-180 sec | 20-40 sec | Optimize if possible |
| >30 GB | 3-6 min | 40-90 sec | Split 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:
| Configuration | Setup Time | Details |
|---|---|---|
| Single GPU, default network | +5 sec | Standard SSH, firewall rules |
| Single GPU, custom VPC | +10 sec | Private networking setup |
| Multi-GPU, NVLink | +15 sec | GPU interconnect validation |
| Multi-GPU, NVSwitch | +25 sec | 8-GPU fabric initialization |
| Multi-node, InfiniBand | +45 sec | Cross-node RDMA setup |
Storage Provisioning:
| Storage Type | Setup Time | Use Case |
|---|---|---|
| No persistent storage | +0 sec | Ephemeral workloads |
| 100GB NVMe SSD | +5 sec | Standard datasets |
| 500GB NVMe SSD | +8 sec | Large model checkpoints |
| 1TB+ NVMe SSD | +12 sec | Multi-TB datasets |
| Network-attached storage | +20 sec | Shared 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:
- Temporary GPU Shortage (2% of requests)
- Message: "No H100 SXM available in us-west-1"
- Solution: Auto-retry in different region or suggest alternative GPUbash io launch --gpu H100 --fallback A100 --any-region # Falls back to A100 if H100 unavailable - Provider Node Offline (0.3% of requests)
- Message: "Provider node-4829 unhealthy, retrying..."
- Solution: Automatic failover to different provider (adds 10-15 sec) - Container Image Pull Failure (0.1% of requests)
- Message: "Failed to pull image: authentication required"
- Solution: Check Docker Hub credentials or use public image - 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:
| Region | H100 Availability | A100 Availability | RTX 4090 Availability | Avg. Spin-Up |
|---|---|---|---|---|
| US-West | High | Very High | Very High | 35 sec |
| US-East | High | Very High | Very High | 38 sec |
| EU-West | Medium | High | Very High | 42 sec |
| EU-Central | Medium | High | High | 45 sec |
| Asia-Pacific | Low | Medium | High | 52 sec |
| South America | Very Low | Low | Medium | 68 sec |
Recommendation: Use --any-region flag for fastest provisioning (io.net auto-selects region with best availability).
Related Questions
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
