Manage GPU capacity

Azure Stack Hub supports adding graphics processing units (GPUs) to an existing Azure Stack Hub system. You must consult with your hardware partner to verify that your system was validated and can support GPUs.

In Azure Stack Hub, the physical server is also referred to as a scale unit node. All scale unit nodes that are members of a single scale unit must have the same type and number of GPUs.


Before you continue, consult your hardware manufacturer's documentation to see if your manufacturer supports GPUs with your system, and how you can order. Your OEM hardware vendor support contract might require that the vendor performs the installation.


The following flow shows the general process to add memory to each scale unit node:

Add GPU capacity flow

Upgrade GPUs or add to an existing node

The following section provides a high-level overview of the process to add a GPU.


Do not follow these steps without referring to your OEM-provided documentation.

  1. The entire scale unit must be shut down, as a rolling GPU upgrade isn't supported. Stop Azure Stack Hub using the steps documented in the Start and stop Azure Stack Hub article.
  2. Add or upgrade the memory on each physical computer using your hardware manufacturer's documentation.
  3. Start Azure Stack Hub using the steps in Start and stop Azure Stack Hub.

Change GPU partition size

Azure Stack Hub supports GPU partitioning for the AMD MI25. With GPU partitioning, you can increase the density of virtual machines using a virtual GPU instance. You can change the partition size to meet specific workload requirements. By default, Azure Stack Hub uses the largest partition size (1/8) to provide the highest possible density with a 2 GB frame buffer. This is useful for workloads that require accelerated graphics applications and virtual desktops.

To change the partition size, do the following:

  1. Deallocate all VMs that are currently using a GPU.

  2. Ensure that the PowerShell Az module for Azure Stack Hub is installed.

  3. Connect PowerShell to the admin Azure Resource Manager endpoint.

  4. Run the following PowerShell cmdlets:

    First determine the name of the scale unit to be updated:

    Get-AzsScaleUnit                    # Returns a list of information about scale units in your stamp 

    Update the following $partitionSize and $scaleUnitName variables using the "name" value returned in the previous step, then run the following to update the scale unit partition size:

    $partitionSize = 4                  # Specify the partition size (1, 2, 4, 8)
    $scaleUnitName = "contoso/cluster"  # Specify the scale unit name
    Set-AzsScaleUnit -Name $scaleUnitName -NumberOfGPUPartition $partitionSize

    Supported values for $partitionSize are:

    Value Description
    8 (default) 1/8 of a physical GPU.
    4 1/4 of a physical GPU.
    2 1/2 of a physical GPU.
    1 Entire physical GPU.

Next steps