# GPU Networks Management and Operations (tenant)

A GPU network is a managed network object used to interconnect multiple
GPUs within a single project on a high-bandwidth, low-latency network
(Nvidia Spectrum-X East-West dedicated GPU network).
GPU Networks provide tenancy isolation for such GPU-to-GPU dedicated
inteconnectivity.

A GPU network has an ID, Name and VXLAN Network Identifier (VNI).
In Nvidia Spectrum-X architecture, the CIDR is common to the whole fabric.
A GPU network’s lifecycle is managed as follows:
System-level by admins, account-level by tenant admins, and project-level
by members with permissions to the project.

The GPU Networks Management page shows the GPU networks that are available
to the account and their current assignment state.

The GPU Networks Management page supports these lifecycle operations:

* View GPU networks
* Add a GPU network
* Assign a GPU network
* Release a GPU network from an account
* Release a GPU network from a project
* Delete a GPU network
* Force delete a GPU network
* Delete multiple GPU networks

## GPU Networks Management

### Viewing GPU networks

To see the GPU networks that are available to the account:

1. In the left navigation pane, go to **Account Networking**.
2. Select **GPU Networks Management**.

   The page opens in **List** view.
3. Review the GPU networks table.
4. Use the table columns to inspect each GPU network.

   The list view includes these fields:
   * **Name**

     The display name of the GPU network. Use it to identify the
     GPU network in the list.
   * **VNI Number**

     The numeric VNI value (VXLAN) for the GPU network. Use it to identify
     the GPU network record.
   * **State**

     The current state of the GPU network. Use it to check its
     current condition.
   * **CIDR**

     The network address range for the GPU network.
   * **Project**

     The project associated with the GPU network, if a project
     assignment exists.
   * **Account**

     The account associated with the GPU network, if an account
     assignment exists.
   * **ID**

     The system ID of the GPU network.
   * **Created At**

     The date and time when the GPU network was created.
   * **Updated At**

     The date and time when the GPU network was last updated.

After selecting a GPU network, the UI exposes actions for that item,
based on the current state and role permissions:

* **Assign**
* **Release from Account**
* **Release from Project**
* **Delete**
* **Force Delete**

### Adding a GPU network

Use this action to create a new GPU network entry.

1. Open **Account Networking** > **GPU Networks Management**.

   The list of GPU networks appears.
2. Click **Add**.

   The **Add GPU Network** dialog opens.

   Enter values for these fields:
   * **Name**

     A descriptive name for the new GPU network.

     Required.
   * **VNI Number**

     The VNI value (VXLAN) for the new GPU network.

     Required.
   * **Account**

     The account pool to assign after creation.

     Use this field to place the new GPU network in an account pool.
   * **Project**

     The project pool to assign after creation.

     Use this field to place the new GPU network in a project pool.
3. To save the configuration, select **Ok**.

### Assigning a GPU network

Use this action to place an existing GPU network into an account pool
or project pool.

1. Open **Account Networking** > **GPU Networks Management**.

   The list of GPU networks appears.
2. Select the GPU network to assign to an account pool or project pool.
3. Select **Assign**.

   The **Assign GPU Network** dialog opens.

   In the dialog, review or set these fields:
   * **Account**

     The account pool for the GPU network. When the GPU network is
     already assigned to an account pool, this field is shown with
     the current value and is not editable.
   * **Project**

     The project pool for the GPU network. The available project
     pools follow the selected account pool when an account is set.
4. To save the configuration, select **Ok**.

### Releasing a GPU network from an account

Use this action to remove an account-level assignment from a GPU network.

1. Open **Account Networking** > **GPU Networks Management**.

   The list of GPU networks appears.
2. Select the GPU network to release from an account.
3. Select **Release from Account**.

   The **Release from Account** dialog opens.

   In the confirmation dialog, review these values:
   * **Name**

     The GPU network that will be released.
   * **ID**

     The system ID of the GPU network.
   * **Account**

     The account from which the GPU network will be released.
4. To confirm releasing the selected GPU network, select **Ok**.

### Releasing a GPU network from a project

Use this action to remove a project-level assignment from a GPU network.

1. Open **Account Networking** > **GPU Networks Management**.

   The list of GPU networks appears.
2. Select the GPU network to release from a project.
3. Select **Release from Project**.

   The **Release from Project** dialog opens.

   In the confirmation dialog, review these values:
   * **ID**

     The system ID of the GPU network.
   * **Project**

     The project from which the GPU network will be released.
4. To confirm releasing the selected GPU network, select **Ok**.

### Deleting a GPU network

Use this action to remove one GPU network entry.

1. Open **Account Networking** > **GPU Networks Management**.

   The list of GPU networks appears.
2. Select the GPU network to delete.
3. Select **Delete**.

   The **Delete GPU Network** dialog opens.

   In the confirmation dialog, review these values:
   * **Name**

     The GPU network that will be deleted.
   * **ID**

     The system ID of the GPU network.
4. To confirm deleting the selected GPU network, select **Ok**.

### Force deleting a GPU network

Use this action when a standard delete does not complete.

1. Open **Account Networking** > **GPU Networks Management**.

   The list of GPU networks appears.
2. Select the GPU network to delete.
3. Select **Force Delete**.

   The **Force Delete GPU Network** dialog opens.

   In the confirmation dialog, review these values:
   * **Name**

     The GPU network that will be deleted.
   * **ID**

     The system ID of the GPU network.
4. To confirm force deleting the selected GPU network, select **Ok**.

### Deleting multiple GPU networks

Use this action to remove more than one GPU network at the same time.

1. Open **Account Networking** > **GPU Networks Management**.

   The list of GPU networks appears.
2. Select the GPU networks to delete.
3. Select **Delete**.

   The **Delete GPU Network** dialog opens, displaying the list of
   selected GPU network names that will be deleted.
4. To confirm deleting the selected GPU networks, select **Ok**.

## Recommended best practices

* Use clear, unique names so admins can identify GPU networks quickly.
* Record the **VNI** (VXLAN) number before you create the GPU network.
* Review the **Account** and **Project** columns before you release or
  delete a GPU network.
* Use standard delete first. Use force delete only when required.
* Review all selected entries before you run a batch delete.

## Troubleshooting

* **Add** is not available.

  The add action is available to system admins.
* **Assign** does not let you change the account pool.

  When a GPU network already has an account pool assignment, the
  **Account** field is shown as disabled in the assign dialog.
* **Release from Account** is not shown.

  This action is hidden when the GPU network is not assigned to an
  account pool, or when it is already assigned to a project pool.
* **Release from Project** is disabled.

  This action is disabled when the GPU network is not assigned to a
  project pool.
* Batch delete is unavailable.

  Batch delete is disabled when any selected GPU network is assigned
  to an account pool.
* The delete action fails.

  Retry the delete. If the standard delete does not complete, review
  whether **Force Delete** is appropriate.
