GPU servers give you a full physical NVIDIA GPU passed through to your machine — never shared, never time-sliced — with the driver and CUDA toolkit preinstalled. This guide lists the plans, explains what the images contain, shows how to verify the GPU and run containers, and covers networking between nodes.
Plans
| GPU | VRAM | Monthly | Notes |
|---|---|---|---|
| RTX 4090 | 24 GB GDDR6X | $259 | Inference, fine-tuning, rendering |
| RTX 5090 | 32 GB GDDR7 | $449 | Fastest consumer-class card |
| L40S | 48 GB GDDR6 | $539 | Inference, graphics, video |
| A100 | 80 GB HBM2e | $789 | Training, large models |
| H100 SXM | 80 GB HBM3 | $979 | 32 vCPU, 256 GB RAM, 2 TB NVMe, 10 Gbps |
| H200 | 141 GB HBM3e | $1,559 | Largest single-GPU memory |
| 8× H100 SXM | 640 GB HBM3 | $9,300 | Bare metal, 192 vCPU, 2 TB RAM, 30 TB NVMe, 25 Gbps |
Single-GPU plans are virtual machines with the GPU attached by PCIe passthrough; the 8× H100 node is bare metal with NVLink between the cards. Billing is monthly only, at the same price in every GPU location: Frankfurt, Amsterdam, New York and Singapore. Live stock is on the GPU page; sold-out cards return as nodes free up.
Images and drivers
The default image is Ubuntu 24.04 with the current production NVIDIA driver and CUDA 12.8. Ubuntu 22.04 ships CUDA 12.4 for older toolchains. Rocky Linux 9 and Debian 12 are available with the driver installed; Windows Server 2025 (licence included) can be requested for RTX plans through a ticket.
One-click apps for Ubuntu 24.04: PyTorch, TensorFlow, JupyterLab, Ollama, vLLM, the Hugging Face stack (transformers, accelerate, datasets) and Docker with the NVIDIA container toolkit. Each app is installed into a dedicated virtual environment or container and does not modify the system driver.
You can install a different driver or CUDA version yourself. Hold the packages we ship if you do, so an unattended upgrade does not replace them:
apt-mark hold nvidia-driver-570 cuda-toolkit-12-8
Verify the GPU
After the first login, confirm that the card is visible and the driver loaded:
nvidia-smi
nvcc --version
nvidia-smi lists the GPU model, the driver version, the VRAM in use and the running processes. If it reports No devices were found, reboot once — the passthrough device is initialised on the first boot after provisioning — and open a ticket if it persists.
Enable persistence mode to avoid the driver reinitialising between jobs, and pin the clocks only if your workload needs deterministic timing:
nvidia-smi -pm 1
Docker and containers
With the Docker one-click app the NVIDIA container toolkit is already configured. Run a CUDA container and check that it sees the GPU:
docker run --rm --gpus all nvidia/cuda:12.8.0-base-ubuntu24.04 nvidia-smi
On a plain image, install the toolkit from NVIDIA's repository, then register the runtime:
apt-get install -y nvidia-container-toolkit
nvidia-ctk runtime configure --runtime=docker
systemctl restart docker
For Kubernetes, the k3s one-click app plus the NVIDIA device plugin exposes the card as the nvidia.com/gpu resource.
PyTorch quick check
The PyTorch app installs a CUDA-enabled build in /opt/pytorch/venv. Activate it and run a short benchmark to confirm the GPU is doing the work:
source /opt/pytorch/venv/bin/activate
python - <<'EOF'
import torch, time
print(torch.cuda.get_device_name(0), torch.version.cuda)
x = torch.randn(8192, 8192, device='cuda', dtype=torch.float16)
torch.cuda.synchronize(); t = time.time()
for _ in range(20): y = x @ x
torch.cuda.synchronize(); print(f"{20*2*8192**3/(time.time()-t)/1e12:.1f} TFLOPS fp16")
EOF
Expect roughly 150 TFLOPS on an RTX 4090, 250 on an L40S and above 600 on an H100 SXM for this naive matmul loop; exact numbers depend on clocks and power limits.
Networking between nodes
GPU nodes in the same location share a private VLAN at up to 25 Gbps on a second interface, unmetered and isolated from other customers. Use it for dataset storage on a Storage VPS or dedicated server, for parameter servers, or for multi-node training with NCCL over TCP. For the 8× H100 node, RDMA over Converged Ethernet (RoCE) can be enabled on request for lower-latency collective operations.
A minimal two-node PyTorch launch over the private network:
torchrun --nnodes=2 --nproc_per_node=1 --node_rank=0 \
--master_addr=10.0.0.11 --master_port=29500 train.py
Public bandwidth is unmetered on GPU nodes: 10 Gbps on H100 and H200 plans, 25 Gbps on the 8× H100 node, 1 Gbps on RTX, L40S and A100 plans.
Moving to a bigger GPU
Order the new node, copy your data over the private network with rsync, then cancel the old one. The unused part of the old node's month is credited to your balance. Snapshots are not available for GPU plans, so keep datasets and checkpoints on a separate volume or server you can reattach.
Something missing or wrong on this page? Open a ticket and tell us.