Skip to main content
Using a coding agent? Install the together-ai skill to let your agent write correct GPU cluster code automatically. See agent skills for details.
Together GPU clusters provide dedicated multi-node GPU infrastructure for training, fine-tuning, and other large-scale AI workloads. Clusters provision in minutes and include high-speed InfiniBand networking and persistent shared storage. You can scale a cluster up or down in real time. Besides hardware, you make two decisions when you create a cluster:
  • Kubernetes or Slurm: Every cluster runs on Kubernetes. Work with kubectl and standard Kubernetes tooling directly, or create a Slurm cluster to run HPC-style batch workflows with sbatch and srun.
  • Capacity type: Reserve capacity upfront for 3 to 180 days at discounted rates, pay hourly for on-demand capacity with no commitment, or draw from a project capacity pool for a scheduled window. You can mix reserved and on-demand capacity in the same cluster.

Get started

You can create a cluster from the Together AI console or with the Together CLI:
The GPU clusters quickstart breaks down this flow, including how to access a Slurm cluster.

Quickstart

Create a cluster, connect to it, and run your first job.

Kubernetes workloads

Deploy pods with persistent storage and run GPU workloads.

Slurm workloads

Run HPC-style batch jobs with the preconfigured Slurm scheduler.

Manage clusters

Scale capacity, control access, and monitor cluster health.

Cluster storage

Choose the right storage tier for datasets and checkpoints.

Pricing

Understand how compute and storage charges work.

How clusters work

Every cluster is built from the same layers:
  • Hardware: GPU worker nodes connected by high-speed InfiniBand, each with fast local NVMe storage, plus a persistent shared volume mounted on every node.
  • Kubernetes: A control plane managed by Together tracks cluster state and schedules workloads onto the worker nodes. You reach it with kubectl and standard Kubernetes tooling.
  • Slurm (optional): On Slurm clusters, the Slurm scheduler runs on top of the same Kubernetes stack through Slinky, an integration layer that bridges HPC scheduling with cloud-native infrastructure. You SSH into a login node and submit jobs with sbatch and srun.
Together monitors every node with automated health checks and repairs. For a walkthrough of each layer and definitions of common HPC terms, see Concepts.

Choosing Kubernetes or Slurm

You select the cluster type when you create the cluster. Both types run on the same hardware, storage, and networking.
  • Choose a Kubernetes cluster if your workloads are containerized and you want to work with kubectl and the Kubernetes ecosystem directly. You can use schedulers like Kueue and Volcano, or orchestrators like SkyPilot. See Kubernetes workloads.
  • Choose a Slurm cluster if your team works with HPC-style batch workflows, such as sbatch scripts, job arrays, partitions, and a shared job queue with priorities. Slurm comes preconfigured for distributed training, so you can submit jobs without writing any Kubernetes manifests. See Slurm workloads.

Available hardware

Nodes of every GPU type connect over 3.2 Tb/s InfiniBand for multi-node training. If the GPUs you need aren’t available, request capacity from the console. For custom requirements, contact your account team.

Capacity types

Choosing a capacity type

  • Choose reserved if you know how long your workload will run, such as a multi-day training run or a planned experiment, and you can commit to that period in exchange for discounted rates.
  • Choose on-demand if your resource needs are unpredictable, you’re running short experiments, or you’re still developing and testing and want maximum flexibility.
  • Mix reserved and on-demand if you have a predictable baseline with occasional bursts. For example, reserve capacity for your baseline workload, then scale up with on-demand capacity during peak periods and back down when the burst ends. Usage beyond your reserved capacity is automatically billed at on-demand rates.
  • Choose scheduled capacity if your project has a capacity pool and your workload fits a planned window. The create form shows this option only when your project has a pool. For a cluster that starts now, you can combine capacity pool GPUs with prepaid reserved GPUs from outside the pool.
You can also add preemptible compute (Preview) alongside standard nodes on Kubernetes and Slurm clusters. Preemptible GPUs are discounted and billed sub-hourly, but Together can reclaim them at any time.
Shared storage volumes have their own lifecycle. When a reserved cluster is decommissioned at expiration, its volumes persist and keep billing as storage. You can attach them to other clusters, or delete them after you extract the data.
For rates and invoice details, see Pricing.

Storage

Every cluster has three storage locations:
  • Shared volumes: Persistent. High-throughput file systems that survive pod restarts, node reboots, and, by default, cluster deletion.
  • Local NVMe: Ephemeral. Fast local disks on each node. Data can be lost during reboots, migrations, or cluster operations.
  • /home directory: Persistent on Slurm clusters, where it lives on the shared volume. Ephemeral on Kubernetes clusters, where it’s local to each node.
Local NVMe and node-local storage are ephemeral. Always use shared volumes for data you need to keep.
You can resize volumes as your data grows. For mount paths, upload instructions, and best practices, see Cluster storage.