GPUs & VM Types
Hardware selection answers two different questions:
- Choose a GPU type when the accelerator model and count matter and Anycloud may choose the provider instance.
- Choose a VM type when you need an exact instance shape, including CPU-only machines.
They are mutually exclusive for one deployment.
Choose by GPU
- CLI
- Python
anycloud job ghcr.io/acme/train:latest \
--gpu-type h100:8 \
--gpus all
request = DeploymentAdmissionInput.from_dict(
{
"image": "ghcr.io/acme/train:latest",
"gpuType": "h100:8",
"cloudConfig": {},
"dockerOptions": {"gpus": "all"},
}
)
h100:8 means eight H100 GPUs. A value without a count selects the GPU model
while the resolved VM type determines the available count.
Choose an exact VM
anycloud job ghcr.io/acme/app:latest \
--credentials my-aws \
--vm-type g6e.xlarge
from anycloud.models.deployment_admission_input import DeploymentAdmissionInput
request = DeploymentAdmissionInput.from_dict({
"image": "ghcr.io/acme/app:latest",
"credentialName": "my-aws",
"cloudConfig": {"vmType": "g6e.xlarge"},
})
Exact VM names are provider-specific. Prefer GPU selection when portability matters more than a particular SKU.
Use ordered fallbacks
Repeat a GPU or VM option to define an ordered pool. Anycloud tries the available targets while preserving your preference order:
anycloud job ghcr.io/acme/train:latest \
--gpu-type h100:8 \
--gpu-type a100:8 \
--spot
The generated admission model accepts the contract's GPU and VM target unions. Exact accepted types and precedence are in Configuration.
Credentials and regions
Every remote deployment selects one compute credential before queueing. Pass
--credentials explicitly, let the CLI select the sole saved credential, or
choose from the interactive picker. Non-interactive use with multiple saved
credentials must pass --credentials.
Leave --region unset for normal Jobs so Anycloud can rotate across healthy
regions. Pin it only for data residency, quota testing, debugging, or another
explicit constraint. Pinning prevents regional failover.
When a provider returns a capacity or quota error for an unpinned region,
Anycloud temporarily blocks that (cloud, VM type, region) target and tries
another. A literal zero quota or unavailable region is blocked longer because
it normally requires account action.
Explore the catalog
anycloud gpus --type H100 --spot
anycloud vm-types aws us-east-1 --accelerator H100
anycloud regions aws --vm-type p5.48xlarge
anycloud pricing aws p5.48xlarge --spot
Use JSON output for scripts and agents:
anycloud gpus --type H100 --json
See Catalog and pricing for all filters and output modes.
Check and request quota
anycloud quota status --credential my-aws
anycloud quota request p5.48xlarge --credential my-aws
Repeated requests are deduplicated when an open provider case already exists.
See quota reference.
Disk capacity and performance
Root disk capacity and performance are separate:
anycloud job ghcr.io/acme/train:latest \
--gpu-type h100 \
--disk-size 400 \
--disk-tier high
high is the default tier. medium, high, and ultra are supported on AWS,
GCP, and Azure; their provider mappings and constraints are documented in
Configuration.
Use Buckets for durable datasets and results. Root disks belong to the workload VM and should not be treated as durable object storage.