clusters

Create an InfiniBand cluster of whole h100-8 machines (preview)

Create an InfiniBand cluster. A cluster is 2 to 8 whole 8-GPU machines on a private InfiniBand network that we make for this cluster alone. Give chip "h100-8", nodes, and gpus. gpus must equal nodes x 8, and a mismatch never rounds. Each node is an ordinary h100-8 node named <name>-<rank>, and each node bills as an h100-8 node from the moment it is ready. The call never blocks. It returns the cluster in state "queued" with the rate. rate.cluster_per_min is the cost of all the nodes per minute. Preparation takes 10 to 45 minutes, and no node bills while the cluster is queued or preparing. Poll get_cluster until state is "running". Every node gets GMN_CLUSTER, GMN_CLUSTER_RANK, GMN_CLUSTER_SIZE and GMN_CLUSTER_MASTER_ADDR for torchrun. A cluster is all its nodes or none. If one node stops or is lost, the whole cluster ends and every disk is deleted. You cannot stop, delete or snapshot one node of a cluster. A call with the name of a live cluster and the same shape returns that cluster. network, clock_lock, profiling, scratch_gib and from_snapshot are not available for clusters. Clusters are a preview.

post/preview/clusters

Request

  • Base URL: https://autoresearch.sfcompute.com
  • URL: https://autoresearch.sfcompute.com/preview/clusters
  • Auth: HTTP bearer

Query parameters

workspacestring

Act in this workspace (its slug). Omitted: the token's bound workspace, then the organization's default. Never ambient - there is no switch-workspace mutation on this door.

Request body

chipstring required

The node type of every node. Only "h100-8" (also spelled "8xh100") is accepted, because a cluster uses whole machines.

gpusinteger required

The total number of GPUs. It must equal nodes x 8. This value is your statement of what you pay for, and a mismatch never rounds.

homestring nullable

The home path of your own image, as on create_node.

imagestring nullable

The image of every node, as on create_node: a catalog name, or your own registry ref.

max_waitstring nullable

How long the cluster may wait for free machines, as a duration ("2h"). It applies only while the cluster state is "queued".

missionstring nullable required

The mission the nodes belong to (open_mission first).

namestring required

The cluster name (lowercase letters, digits, '-'). It must be free among the live clusters of the workspace. The nodes are named <name>-0 to <name>-<nodes - 1>, and those node names must also be free. The cluster's private network gets this name too.

nodesinteger required

The number of nodes (whole machines), from 2 to the account maximum (8 by default; list_limits shows max_cluster_nodes).

Response

The capability's JSON result.

objectstring

The resource type, when the result is one resource.

Changes

No recorded changes to this operation across all 1 revision of this API.