Documentation Index
Fetch the complete documentation index at: https://docs.galadriel.co/llms.txt
Use this file to discover all available pages before exploring further.
Get Your First GPUs in 5 Minutes
This guide will walk you through purchasing GPU time, deploying a workload, and cleaning up.
Prerequisites
- Unix-based system (macOS or Linux)
- Credit card for payment
- SSH key (optional, but recommended)
Step 1: Install the CLI
curl -sSL https://galadriel.com/install.sh | sh
Verify installation:
Create an account and get your API token:
You’ll be prompted to:
- Enter your API token (get one at https://app.galadriel.com/settings/tokens)
- Set default zone (e.g.,
us-west-1)
- Add your SSH public key (optional)
Your configuration is saved to ~/.galadriel/config.yaml.
Step 3: Check the Marketplace
Before buying, check current prices and availability:
# View orderbook for H100 GPUs in us-west-1
galadriel orderbook --gpu-type h100 --zone us-west-1
Output:
📊 Orderbook: H100 @ us-west-1 (2025-11-11 14:00 UTC)
Market Depth:
Best Bid: $1.30/GPU/hr (24 GPUs)
Best Ask: $1.40/GPU/hr (16 GPUs)
Spread: $0.10 (7.69%)
Mid Price: $1.35
Bids (Buy Orders): Asks (Sell Orders):
$1.30 ████████████████ 24 GPUs $1.40 ████████ 16 GPUs
$1.25 ███████████ 16 GPUs $1.45 ████ 8 GPUs
$1.20 ███████████████████ 32 GPUs $1.50 ████████████ 24 GPUs
Last Trade: $1.35 (8 GPUs) @ 13:55 UTC
24h Volume: 1,920 GPU-hours
Get a price estimate:
galadriel prices estimate --gpu-type h100 --gpus 16 --zone us-west-1
Step 4: Purchase GPUs
Option A: Market Order (Instant)
Buy GPUs immediately at the current market price:
galadriel order buy \
--gpu-type h100 \
--gpus 16 \
--duration 24h \
--zone us-west-1 \
--type market
Market orders execute instantly but you pay the current best ask price. For this example, you’d pay ~$1.40/GPU/hr.
Option B: Limit Order (Save Money)
Wait for a specific price:
galadriel order buy \
--gpu-type h100 \
--gpus 16 \
--duration 24h \
--price 1.30 \
--zone us-west-1
Limit orders can save 10-25% but may take minutes to hours to fill. Use this for non-urgent workloads.
Expected output:
🛒 Creating market buy order for 16 GPUs...
✓ Order matched instantly!
✓ Order ID: ord_abc123
✓ Matched at: $1.40/GPU/hour
✓ Total cost: $537.60 (16 GPUs * 24h * $1.40)
✓ Lease ID: lse_xyz123
✓ Nodes: gpu-node-042, gpu-node-043
📦 Getting kubeconfig...
✓ Saved to ~/.kube/galadriel-lse_xyz123.conf
🎉 Your cluster is ready!
Step 5: Connect to Your GPUs
Option A: Using kubectl
Set your kubeconfig:
export KUBECONFIG=~/.kube/galadriel-lse_xyz123.conf
Verify access:
Output:
NAME STATUS ROLES AGE VERSION
gpu-node-042 Ready <none> 30s v1.30.0
gpu-node-043 Ready <none> 30s v1.30.0
Option B: Using SSH
SSH directly to a node:
Or specify a node:
galadriel ssh lse_xyz123 --node gpu-node-042
Step 6: Deploy a Workload
Simple GPU Test
Create gpu-test.yaml:
apiVersion: v1
kind: Pod
metadata:
name: gpu-test
spec:
containers:
- name: cuda-test
image: nvidia/cuda:12.2.0-base-ubuntu22.04
command: ["nvidia-smi"]
resources:
limits:
nvidia.com/gpu: 1
restartPolicy: Never
Deploy:
kubectl apply -f gpu-test.yaml
kubectl logs gpu-test
Multi-Node Training Job
Create distributed-training.yaml:
apiVersion: batch/v1
kind: Job
metadata:
name: distributed-training
spec:
completions: 2
parallelism: 2
template:
spec:
containers:
- name: trainer
image: nvcr.io/nvidia/pytorch:23.10-py3
command:
- python
- -m
- torch.distributed.run
- --nproc_per_node=8
- --nnodes=2
- train.py
resources:
limits:
nvidia.com/gpu: 8
volumeMounts:
- name: infiniband
mountPath: /dev/infiniband
volumes:
- name: infiniband
hostPath:
path: /dev/infiniband
nodeSelector:
nvidia.com/gpu.product: NVIDIA-H100-80GB-HBM3
Deploy:
kubectl apply -f distributed-training.yaml
kubectl get pods -w
Step 7: Monitor Your Lease
Check lease details:
List all active leases:
Output:
LEASE ID GPUs GPU TYPE ZONE STATUS EXPIRES COST/HR
lse_xyz123 16 H100 us-west-1 active 2025-11-12 14:00 $1.40
Step 8: Cleanup (Optional)
Finished Early?
If you’re done before your 24 hours are up, you have two options:
Option A: Terminate and Get Refund
galadriel terminate lse_xyz123
You’ll get a prorated refund for unused time.
Option B: Resell Unused Time
Recover even more by reselling to the marketplace:
# Resell remaining time at $1.20/GPU/hr
galadriel lease resell lse_xyz123 --price 1.20
If matched, you’ll receive:
- Original refund from Galadriel
- Net recovery from marketplace sale (minus 10% platform fee)
See the Reselling Guide for details.
Automatic Cleanup
Your lease automatically expires and cleans up at the end time. You’ll receive:
- 5-minute warning notification
- Automatic namespace deletion
- Complete resource cleanup
Next Steps
Understand the Marketplace
Learn about order types and pricing strategies
Cluster Specs
GPU types, system specs, and access model
API Reference
REST API and SDK documentation
Examples
Real-world training examples
Common Issues
Limit orders may not fill if your price is too low. Check the current orderbook:galadriel orderbook --gpu-type h100 --zone us-west-1
Cancel and create a new order with a higher price, or switch to a market order. kubectl connection refused
Make sure your kubeconfig is set:export KUBECONFIG=~/.kube/galadriel-lse_xyz123.conf
Or get the kubeconfig again:galadriel kubeconfig lse_xyz123 --save ~/.kube/galadriel.conf
Verify your SSH key was added during configuration:cat ~/.galadriel/config.yaml | grep ssh_public_key
If not set, reconfigure:
Getting Help