Skip to main content

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 workload.

Choose by GPU​

anycloud job ghcr.io/acme/train:latest \
--gpu-type h100:8 \
--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 import Client

with Client() as client:
job = client.submit(
"ghcr.io/acme/app:latest",
credential_name="my-aws",
cloud_config={"vm_type": "g6e.xlarge"},
)
print(job.id)

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

In Python, pass a list to gpu for the same ordered preference:

from anycloud import Client

with Client() as client:
job = client.submit(
"ghcr.io/acme/train:latest",
credential_name="my-aws",
gpu=["h100:8", "a100:8"],
cloud_config={"spot": True},
)
print(job.id)

For an exact VM pool, pass a list under cloud_config["vm_type"], such as {"vm_type": ["p5.48xlarge", "p4d.24xlarge"]}. See Configuration for accepted options and precedence.

Credentials and regions​

Every remote workload 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 quota​

anycloud quota status --credentials my-aws

Request an increase with the desired limit through the provider CLI or portal. See the 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.