You can group your virtual machines with GPUs into a GPU cluster. The cluster accelerates high-performance computing (HPC) tasks such as training and inference. These tasks require a lot of processing power that a single VM cannot provide.
The GPU clusters are built with InfiniBand™ secure high-speed networking. Each GPU in a VM is connected through a network interface card (NIC) that provides 400 Gbps. As a compute VM for GPU clusters consists of 8 GPUs, the total bandwidth for a node is 3.2 Tbps.
Nebius AI Cloud uses GPUDirect RDMA, an NVIDIA® technology of remote direct memory access (RDMA) that allows data to flow directly between each GPU and its NIC, avoiding CPU, thus boosting the data exchange speed.
InfiniBand™ fabrics
Each GPU cluster is created in one of the physical InfiniBand™ fabrics. This is where GPUs interconnected over InfiniBand™ are located. Each fabric has limited GPU capacity.
When creating a GPU cluster, select an InfiniBand™ fabric for it. Take into account the type of GPUs you are going to use. For example, if you select fabric-7, you can only add NVIDIA® H200 NVLink with Intel Sapphire Rapids GPUs to this cluster.
Available fabrics and corresponding regions (private regions are marked with *):
In most cases, you do not need to change the preselected fabric. We recommend that you create a GPU cluster in another fabric only if it is better suited for a different platform or if you experience capacity issues with an existing GPU cluster.
Isolation and security of InfiniBand™ traffic
Nebius AI Cloud isolates InfiniBand™ traffic between GPU clusters by using InfiniBand™ partition keys (P-Keys).
Each GPU cluster is assigned a unique P-Key to create isolation inside shared physical InfiniBand™ fabrics. This way, nodes in different GPU clusters cannot communicate over InfiniBand™ even if they use the same fabric infrastructure. This creates isolation between tenants without requiring a dedicated physical fabric for each cluster.
Prerequisites
If you use the web console, you don’t need to complete any prerequisites.
CLI
Go SDK
Python SDK
JavaScript SDK
How to enable InfiniBand™ for VMs with GPUs
Web console
CLI
Go SDK
Python SDK
JavaScript SDK
-
Create a GPU cluster:
- In the sidebar, go to
Compute → GPU clusters.
- Click
Create GPU cluster.
- On the page that opens, specify the cluster name. It should contain from 3 to 63 characters: lowercase letters, numbers and hyphens.
- Select the InfiniBand™ fabric.
- Click Create GPU cluster.
-
Add VMs to the cluster. You can assign a GPU cluster only when creating a VM:
All virtual machines added to the GPU cluster, including Managed Service for Kubernetes® nodes, must be in the same project.
- In the sidebar, go to
Compute → Virtual machines.
- Click Create resource → Virtual machine.
- On the Compute step of the VM creation wizard, select a platform and preset compatible with GPU clusters. For more information, see Types of virtual machines and GPUs in Nebius AI Cloud.
- In the Settings section, select an existing GPU cluster in the GPU cluster field, or create a new one.
- On the Storage step, select the boot disk for NVIDIA® GPUs. For details, see Boot disk images for Compute virtual machines.
You can also create a GPU cluster while creating the first VM in it:
-
On the Compute step of the VM creation wizard:
- Select a platform and a preset compatible with GPU clusters. For more information, see Types of virtual machines and GPUs in Nebius AI Cloud.
- In the Settings section, create or select a GPU cluster in the GPU cluster field.
-
On the Storage step, select the boot disk for NVIDIA® GPUs. For details, see Boot disk images for Compute virtual machines.
-
Check that your project ID is saved in the Nebius AI Cloud CLI profile configuration:
-
If you have not set your project ID as
parent-id, or you want to create resources in a different project, get the project ID and update your CLI profile:
-
Depending on your project’s region, select an InfiniBand™ fabric for VM interconnection and save it to an environment variable:
-
Create a GPU cluster and save its ID:
Where:
Name: A cluster name that you can use to quickly find the cluster.
-
Create a boot disk optimized for VMs with NVIDIA® GPUs:
For compatible boot disk images (
--source-image-family-image-family), see Boot disk images.
-
Create a virtual machine with GPUs and specify the GPU cluster ID in its parameters.
All virtual machines added to the GPU cluster, including Managed Service for Kubernetes® nodes, must be in the same project.
For example:
Specify a VM platform with GPUs in --resources-platform, and a preset compatible with GPU clusters in --resources-preset. For more information, see Types of virtual machines and GPUs in Nebius AI Cloud.
-
Depending on your project’s region, select an InfiniBand™ fabric for VM interconnection and set it in the code:
-
Create a GPU cluster and save its ID:
Where:
Metadata.Name: A cluster name that you can use to quickly find the cluster.
-
Create a boot disk optimized for VMs with NVIDIA® GPUs:
For compatible boot disk images, see Boot disk images.
-
Create a virtual machine with GPUs and specify the GPU cluster ID in its parameters.
All virtual machines added to the GPU cluster, including Managed Service for Kubernetes® nodes, must be in the same project.
Specify a VM platform with GPUs and a preset compatible with GPU clusters. For more information, see Types of virtual machines and GPUs in Nebius AI Cloud.
-
Depending on your project’s region, select an InfiniBand™ fabric for VM interconnection and set it in the code:
-
Create a GPU cluster and save its ID:
Where:
metadata.name: A cluster name that you can use to quickly find the cluster.
-
Create a boot disk optimized for VMs with NVIDIA® GPUs:
For compatible boot disk images, see Boot disk images.
-
Create a virtual machine with GPUs and specify the GPU cluster ID in its parameters.
All virtual machines added to the GPU cluster, including Managed Service for Kubernetes® nodes, must be in the same project.
Specify a VM platform with GPUs and a preset compatible with GPU clusters. For more information, see Types of virtual machines and GPUs in Nebius AI Cloud.
-
Depending on your project’s region, select an InfiniBand™ fabric for VM interconnection and set it in the code:
-
Create a GPU cluster and save its ID:
Where:
metadata.name: A cluster name that you can use to quickly find the cluster.
-
Create a boot disk optimized for VMs with NVIDIA® GPUs:
For compatible boot disk images, see Boot disk images.
-
Create a virtual machine with GPUs and specify the GPU cluster ID in its parameters.
All virtual machines added to the GPU cluster, including Managed Service for Kubernetes® nodes, must be in the same project.
Specify a VM platform with GPUs and a preset compatible with GPU clusters. For more information, see Types of virtual machines and GPUs in Nebius AI Cloud.
How to test the connection with the NCCL tests
To test InfiniBand™ performance in a Compute cluster, you can run the NVIDIA® Collective Communications Library (NCCL) test in it. For instructions, see our tutorial on running distributed jobs with MPIrun: it uses the NCCL test as an example.
How to delete a GPU cluster
Before deleting a GPU cluster, make sure all virtual machines in the cluster are deleted or moved to another cluster.
Web console
CLI
Go SDK
Python SDK
JavaScript SDK
- In the sidebar, go to
Compute → GPU clusters.
- In the row of the GPU cluster you want to delete, click
→ Delete.
- In the window that opens, confirm the deletion.
-
Get the ID of the GPU cluster you want to delete:
-
Delete the GPU cluster:
-
Get the ID of the GPU cluster you want to delete:
-
Delete the GPU cluster:
-
Get the ID of the GPU cluster you want to delete:
-
Delete the GPU cluster:
-
Get the ID of the GPU cluster you want to delete:
-
Delete the GPU cluster:
See also
InfiniBand and InfiniBand Trade Association are registered trademarks of the InfiniBand Trade Association.