Detailed Setup Guide

Prerequisites

  • TerraGPU account (sign up at terragpu.com)
  • Payment method configured
  • SSH client (built-in on macOS/Linux, PuTTY for Windows)
  • OpenVPN client (for VPN connectivity)

Step 1: Account Setup

  1. Sign Up: Visit terragpu.com/signup
    • Enter email and password
    • Verify email (check spam folder)
  2. Complete Onboarding:
    • Organization name and billing email
    • Add payment method (Stripe)
    • Set notification preferences

Step 2: Network Configuration

Choose your connectivity option:

Option A: TerraGPU VPN (Recommended)

Best for: Most users, fastest setup

curl https://get.terragpu.com | bash
terragpu connect

Option B: Customer VPN

Best for: Enterprise with existing VPN infrastructure

Setup fee: $500 | See VPN Guide for details

Option C: Direct Connect

Best for: Large datasets, low latency requirements

Setup fee: $2,000 | Monthly: $1,500-$10,000

Step 3: Launch Your First Instance

  1. Navigate to Console: Console → Instances → Launch Instance
  2. Select GPU:
    • 1x A100 40GB - $2.50/hr (recommended for testing)
    • 2x A100 80GB - $4.80/hr
    • 4x A100 80GB - $9.00/hr
    • 8x H100 80GB - $16.00/hr
  3. Choose Container Image:
    • PyTorch 2.1 (CUDA 12.2)
    • TensorFlow 2.14 (CUDA 12.2)
    • JAX 0.4 (CUDA 12.2)
    • Custom Docker image
  4. Configure Storage:
    • 500GB ephemeral (included)
    • Optional: Add persistent storage ($0.10/GB/month)
    • Optional: Mount S3 bucket
  5. Set Options:
    • Instance name
    • Region (Sydney)
    • Spot instance (30% discount, may be interrupted)
    • Auto-shutdown (1hr, 4hr, 8hr, never)
  6. Review & Launch: Instance ready in 2-3 minutes

Step 4: Connect to Instance

Via SSH

ssh ubuntu@10.100.5.23

# Check GPUs
nvidia-smi

# Check CUDA
nvcc --version

Via Jupyter

Access Jupyter at: https://10.100.5.23:8888

Token displayed in instance details

Step 5: Run Your First Workload

# Test PyTorch
python3 << EOF
import torch
print(f"CUDA available: {torch.cuda.is_available()}")
print(f"GPU count: {torch.cuda.device_count()}")
print(f"GPU name: {torch.cuda.get_device_name(0)}")

# Simple tensor operation
x = torch.rand(1000, 1000).cuda()
y = torch.rand(1000, 1000).cuda()
z = x @ y
print(f"Result shape: {z.shape}")
EOF

Step 6: Upload Your Data

Option A: SCP/SFTP

scp -r ./datasets ubuntu@10.100.5.23:/home/ubuntu/

Option B: Mount S3

s3fs my-bucket /mnt/s3 -o passwd_file=~/.passwd-s3fs

Option C: Console Upload

Console → Storage → Upload Files (max 5GB per file)

Step 7: Monitor & Manage

  • View real-time metrics: Console → Instances → [Instance] → Metrics
  • Set up alerts: Console → Alerts → Create Alert
  • Track costs: Console → Usage → View Reports
  • Stop instance when done: Console → Instances → Stop

Best Practices

  • Use spot instances for training jobs with checkpoints (30% cheaper)
  • Set auto-shutdown to avoid paying for idle instances
  • Use persistent storage for important data (survives termination)
  • Monitor GPU utilization - if consistently low, downsize instance
  • Set cost alerts to avoid surprise bills

Next Steps

  • Explore integrations: AWS, Azure, GCP, MLOps tools
  • Set up team members and roles
  • Configure API keys for automation
  • Review security settings

Need Help?

Email: support@terragpu.com

Response time: Within 24 hours