Máquina virtual (VM) de la unidad de procesamiento gráfico (GPU) en Azure Stack Hub

Precaución

En este artículo se hace referencia a CentOS, una distribución de Linux que está cerca del estado Fin de vida (EOL). Tenga en cuenta su uso y plan en consecuencia. Para obtener más información, consulte la guía de fin de vida de CentOS.

En este artículo, se describe cuáles son los modelos de unidad de procesamiento gráfico (GPU) que se admiten en un sistema integrado de Azure Stack Hub. También se pueden encontrar instrucciones sobre la instalación de los controladores que se usan con las GPU. La compatibilidad con GPU en Azure Stack Hub permite soluciones de inteligencia artificial, entrenamiento, inferencia y visualización de datos. La GPU AMD Radeon Instinct MI25 puede usarse para respaldar aplicaciones con un uso intensivo de gráficos, como AutoCAD de Autodesk.

Puede elegir entre tres modelos de GPU. Están disponibles en las GPU de NVIDIA V100, NVIDIA T4 y AMD MI25. Estas GPU físicas se alinean con los siguientes tipos de máquina virtual (VM) de la serie N de Azure de la siguiente manera:

Advertencia

En esta versión no se admiten las máquinas virtuales con GPU. Tendrá que actualizar a Azure Stack Hub 2005 o a versiones posteriores. Además, el hardware de Azure Stack Hub debe tener GPU físicas.

NCv3

Las máquinas virtuales de la serie NCv3 disponen de la tecnología de las GPU NVIDIA Tesla V100. Los clientes pueden aprovechar estas GPU actualizadas para cargas de trabajo de HPC tradicionales, como la creación de modelos de embalses, la secuenciación de ADN, el análisis de proteínas, la realización de simulaciones Monte Carlo y otras.

Size vCPU Memoria: GiB GiB de almacenamiento temporal (SSD) GPU Memoria de GPU: GiB Discos de datos máx. Nº máx. NIC
Standard_NC6s_v3 6 112 736 1 16 12 4
Standard_NC12s_v3 12 224 1474 2 32 24 8
Standard_NC24s_v3 24 448 2948 4 64 32 8

NVv4

Las máquinas virtuales de la serie NVv4 usan la tecnología de las GPU AMD Radeon Instinct MI25. Con la serie NVv4, Azure Stack Hub introduce máquinas virtuales con GPU parciales. Este tamaño se puede usar con aplicaciones de gráficos aceleradas por GPU y escritorios virtuales. Las máquinas virtuales NVv4 actualmente solo admiten el sistema operativo invitado Windows.

Size vCPU Memoria: GiB GiB de almacenamiento temporal (SSD) GPU Memoria de GPU: GiB Discos de datos máx. Nº máx. NIC
Standard_NV4as_v4 4 14 88 1/8 2 4 2
Standard_NV8as_v4 8 28 176 1/4 4 8 4
Standard_NV16as_v4 16 56 352 1/2 8 16 8
Standard_NV32as_v4 32 112 704 1 16 32 8

NCasT4_v3

Size vCPU Memoria: GiB GPU Memoria de GPU: GiB Discos de datos máx. Nº máx. NIC
Standard_NC4as_T4_v3 4 28 1 16 8 4
Standard_NC8as_T4_v3 8 56 1 16 16 8
Standard_NC16as_T4_v3 16 110 1 16 32 8
Standard_NC64as_T4_v3 64 440 4 64 32 8

NC_A100 v4

Las máquinas virtuales de la serie NC_A100 funcionan con GPU NVIDIA Ampere A100, el sucesor de las GPU Tesla V100. Puede aprovechar estas GPU actualizadas para cargas de trabajo de HPC tradicionales, como el modelado de depósitos, la secuenciación de ADN, el análisis de proteínas, las simulaciones de Monte Carlo y otras.

Size vCPU Memoria: GiB Almacenamiento temporal (GiB) Discos de datos máx. GPU GiB de memoria de GPU Nº máx. NIC
Standard_NC24ads_A100_v4 24 220 1123 12 1 80 2
Standard_NC48ads_A100_v4 48 440 2246 24 2 160 4

Consideraciones del sistema de GPU

  • La GPU debe ser una de estas SKU: AMD MI-25, Nvidia V100 (y variantes) o Nvidia T4.
  • Número de GPU por servidor admitido (1, 2, 3, 4). Las opciones preferidas son: 1, 2 y 4.
  • Todas las GPU deben ser exactamente de la misma SKU en toda la unidad de escalado.
  • Todas las cantidades de GPU por servidor deben ser las mismas en toda la unidad de escalado.
  • El tamaño de partición de GPU (para AMD Mi25) debe ser el mismo en todas las máquinas virtuales de la GPU en la unidad de escalado.

Planificación de capacidad

La herramienta de planeamiento de capacidad de Azure Stack Hub se ha actualizado para admitir configuraciones de GPU. Se puede acceder a esta herramienta en https://aka.ms/azstackcapacityplanner.

Adición de GPU en una instancia de Azure Stack Hub existente

Azure Stack Hub ahora admite la adición de GPU a cualquier sistema existente. Para ello, ejecute stop-azurestack, complete el procedimiento de stop-azurestack, agregue GPU y, a continuación, ejecute start-azurestack hasta su finalización. Si el sistema ya tenía GPU, las máquinas virtuales de GPU creadas previamente se deberán detener (desasignar) y, a continuación, volver a iniciarse.

Revisión y actualización, comportamiento de FRU de máquinas virtuales

Las máquinas virtuales de GPU experimentarán tiempo de inactividad durante operaciones tales como aplicación de revisiones y actualización (PnU) y el reemplazo de hardware (FRU) de Azure Stack Hub. En la tabla siguiente se describe el estado de la máquina virtual observado durante estas actividades y la acción manual que el usuario puede realizar para que estas máquinas virtuales estén disponibles después de la operación.

Operación PnU: actualización completa, actualización de OEM FRU
Estado de la máquina virtual No disponible durante la actualización. Puede estar disponible mediante una operación manual. La máquina virtual se encuentra automáticamente en línea después de la actualización. No disponible durante la operación de FRU. Puede estar disponible mediante una operación manual. Es necesario volver a iniciar la máquina virtual después de la operación de FRU.
Operación manual Si es necesario que la máquina virtual esté disponible durante la actualización, si hay particiones de GPU disponibles, la máquina virtual se puede reiniciar desde el portal haciendo clic en el botón Restart (Reiniciar). La máquina virtual volverá a iniciarse automáticamente después de la actualización. La máquina virtual no está disponible durante la operación de FRU. Si hay GPU disponibles, es posible que la máquina virtual se detenga y desasigne y posteriormente se reinicie durante la operación de FRU. Después de completar la operación de FRU, la máquina debe detenerse y desasignarse con el botón Detener e iniciarse de nuevo con el botón Iniciar.

Instalación del controlador de invitado

Los siguientes cmdlets de PowerShell se pueden usar para la instalación del controlador:

$VmName = <VM Name In Portal>
$ResourceGroupName = <Resource Group of VM>
$Location = "redmond"
$driverName = <Give a name to the driver>
$driverPublisher = "Microsoft.HpcCompute"
$driverType = <Specify Driver Type> #GPU Driver Types: "NvidiaGpuDriverWindows"; "NvidiaGpuDriverLinux"; "AmdGpuDriverWindows"
$driverVersion = <Specify Driver Version> #Nvidia Driver Version:"1.3"; AMD Driver Version:"1.0"

Set-AzureRmVMExtension  -Location $Location `
                            -Publisher $driverPublisher `
                            -ExtensionType $driverType `
                            -TypeHandlerVersion $driverVersion `
                            -VMName $VmName `
                            -ResourceGroupName $ResourceGroupName `
                            -Name $driverName `
                            -Settings $Settings ` # If no settings are set, omit this parameter
                            -Verbose

En función del sistema operativo, el tipo y la conectividad de la máquina virtual de GPU de Azure Stack Hub, deberá realizar modificaciones con la configuración siguiente.

AMD MI25

La versión del controlador invitado debe coincidir con la versión de Azure Stack Hub, independientemente del estado de conectividad. El uso de versiones más recientes no alineadas con la versión de Azure Stack Hub puede causar problemas de facilidad de uso.

Versión de Azure Stack Hub Controlador invitado amd
2206 21.Q2-1, 20.Q4-1
2108 21.Q2-1, 20.Q4-1
2102 21.Q2-1, 20.Q4-1

Conectado

Use el script de PowerShell en la sección anterior con el tipo de controlador adecuado para AMD. En el artículo Instalación de controladores de GPU amd en máquinas virtuales de la serie N que ejecutan Windows se proporcionan instrucciones sobre cómo instalar el controlador para AMD Radeon Instinct MI25 dentro de la máquina virtual habilitada para GPU-P de NVv4, junto con los pasos para comprobar la instalación del controlador.

Escenario desconectado

Puesto que la extensión extrae el controlador de una ubicación en Internet, una máquina virtual desconectada de la red externa no podrá acceder a él. Puede descargar el controlador de la tabla anterior y cargarlo en una cuenta de almacenamiento de la red local a la que se pueda acceder a la máquina virtual.

Agregue el controlador AMD a una cuenta de almacenamiento y especifique la dirección URL de esa cuenta en Settings. Esta configuración se debe usar en el cmdlet Set-AzureRMVMExtension . Por ejemplo:

$Settings = @{
"DriverURL" = <URL to driver in storage account>
}

NVIDIA

Los controladores de NVIDIA deben instalarse dentro de la máquina virtual para cargas de trabajo de CUDA o GRID mediante la GPU.

Caso de uso: GRID de gráficos/visualización

Este escenario requiere el uso de controladores de GRID. Los controladores de GRID se pueden descargar a través del centro de aplicaciones de NVIDIA siempre que se tengan las licencias necesarias. Los controladores de GRID también requieren un servidor de licencias de GRID con las licencias de GRID adecuadas antes de usarlos en la máquina virtual.

$Settings = @{
"DriverURL" = "https://download.microsoft.com/download/e/8/2/e8257939-a439-4da8-a927-b64b63743db1/431.79_grid_win10_server2016_server2019_64bit_international.exe"; "DriverCertificateUrl" = "https://go.microsoft.com/fwlink/?linkid=871664"; 
"DriverType"="GRID"
}

Caso de uso: proceso/CUDA: conectado

Los controladores de CUDA no necesitan un servidor de licencias ni una configuración modificada.

Caso de uso: proceso/CUDA: desconectado

Los vínculos a los controladores de NVIDIA CUDA se pueden obtener mediante el vínculo: https://raw.githubusercontent.com/Azure/azhpc-extensions/master/NvidiaGPU/resources.json

Windows:

$Settings = @{
"DriverURL" = "";
"DriverCertificateUrl" = "https://go.microsoft.com/fwlink/?linkid=871664"; 
"DriverType"="CUDA"
}

Linux:

Tendrá que hacer referencia a algunas direcciones URL para la configuración.

Resolución Notas
PUBKEY_URL PUBKEY_URL es la clave pública para el repositorio de controladores de Nvidia, no para la máquina virtual Linux. Se usa para instalar el controlador para Ubuntu.
DKMS_URL DKMS_URL se usa para obtener el paquete para compilar el módulo de kernel de Nvidia en RedHat/CentOs.
DRIVER_URL DRIVER_URL es la dirección URL para descargar la información del repositorio del controlador de Nvidia y se agrega a la lista de repositorios de la máquina virtual Linux.
LIS_URL LIS_URL es la dirección URL para descargar el paquete de Linux Integration Services para RedHat y CentOs, Linux Integration Services v4.3 para Hyper-V y Azure no está instalado de manera predeterminada en la dirección URL https://www.microsoft.com/download/details.aspx?id=55106. LIS_RHEL_ver es la versión del kernel de reserva que debe funcionar con el controlador Nvidia. Se usa en RedHat/CentOs si el kernel de la VM Linux no es compatible con el controlador de Nvidia solicitado.

Agregue las direcciones URL a la configuración.

$Settings=@{
"isCustomInstall"=$true;
"DRIVER_URL"="https://go.microsoft.com/fwlink/?linkid=874273";
"CUDA_ver"="10.0.130";
"PUBKEY_URL"="http://download.microsoft.com/download/F/F/A/FFAC979D-AD9C-4684-A6CE-C92BB9372A3B/7fa2af80.pub";
"DKMS_URL"="https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm";
"LIS_URL"="https://aka.ms/lis";
"LIS_RHEL_ver"="3.10.0-1062.9.1.el7"
}

Pasos siguientes