Machine virtuelle du processeur graphique (GPU) sur Azure Stack Hub

Attention

Cet article fait référence à CentOS, une distribution Linux qui approche de la fin de vie (EOL) status. Veuillez prendre en compte votre utilisation et planifier en conséquence. Pour plus d’informations, consultez les instructions relatives à la fin de vie de CentOS.

Cet article décrit les modèles de processeurs graphiques (GPU) pris en charge sur un système intégré Azure Stack Hub. Vous y trouverez également des instructions sur l’installation des pilotes utilisés avec les GPU. Le support GPU dans Azure Stack Hub permet de fournir des solutions telles que l’intelligence artificielle, l’entraînement, l’inférence et la visualisation des données. L’accélérateur graphique AMD Radeon Instinct Mi25 peut être utilisé pour prendre en charge des applications gourmandes en graphiques, telles qu’Autodesk AutoCAD.

Vous pouvez choisir parmi trois modèles de GPU. Ils sont disponibles dans les processeurs graphiques NVIDIA V100, NVIDIA T4 et AMD Mi25. Ces GPU physiques s’alignent sur les types de machines virtuelles de la série N Azure suivants, comme suit :

Avertissement

Les machines virtuelles GPU ne sont pas prises en charge dans cette mise en production. Vous devez effectuer une mise à niveau vers Azure Stack Hub 2005 ou une version ultérieure. En outre, votre matériel Azure Stack Hub doit avoir des GPU physiques.

NCv3

Les machines virtuelles de série NCv3 sont optimisées par les GPU NVIDIA Tesla V100. Les clients peuvent tirer parti de ces GPU mis à jour pour les charges de travail HPC traditionnelles telles que la modélisation de gisements, le séquençage de l’ADN, l’analyse des protéines, les simulations de Monte-Carlo, etc.

Taille Processeurs virtuels Mémoire : Gio Stockage temporaire (SSD) en Gio GPU Mémoire GPU : Gio Disques de données max. Nombre max de cartes réseau
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

Les machines virtuelles de la série NVv4 sont alimentées par des GPU AMD Radeon Instinct MI25. Avec la série NVv4, Azure Stack Hub introduit des machines virtuelles avec des GPU partiels. Cette taille peut être utilisée pour les applications graphiques accélérées GPU et les bureaux virtuels. Les machines virtuelles NVv4 prennent actuellement en charge uniquement le système d’exploitation invité Windows.

Taille Processeurs virtuels Mémoire : Gio Stockage temporaire (SSD) en Gio GPU Mémoire GPU : Gio Disques de données max. Nombre max de cartes réseau
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

Taille Processeurs virtuels Mémoire : Gio GPU Mémoire GPU : Gio Disques de données max. Nombre max de cartes réseau
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

Les machines virtuelles de la série NC_A100 sont alimentées par des GPU NVIDIA Ampere A100, le successeur des GPU Tesla V100. Vous pouvez tirer parti de ces GPU mis à jour pour les charges de travail HPC traditionnelles telles que la modélisation de réservoirs, le séquencement d’ADN, l’analyse des protéines, les simulations Monte-Carlo, etc.

Taille Processeurs virtuels Mémoire : Gio Stockage temporaire (Gio) Disques de données max. GPU Gio de mémoire GPU Nombre max de cartes réseau
Standard_NC24ads_A100_v4 24 220 1123 12 1 80 2
Standard_NC48ads_A100_v4 48 440 2246 24 2 160 4

Considérations relatives au système de GPU

  • La référence (SKU) du GPU doit être l’une suivantes : AMD MI-25, NVIDIA V100 (et variantes), Nvidia T4.
  • Nombre de GPU par serveur pris en charge (1, 2, 3, 4). De préférence : 1, 2 et 4.
  • Tous les GPU dans l’unité d’échelle doivent avoir exactement la même référence (SKU).
  • Toutes les quantités de GPU par serveur dans toute l’unité d’échelle doivent être identiques.
  • La taille de partition du GPU (pour AMD Mi25) doit être la même dans toutes les machines virtuelles GPU sur l’unité d’échelle.

Planification de la capacité

Le planificateur de capacité Azure Stack Hub a été mis à jour pour prendre en charge les configurations de GPU. Il est accessible sur https://aka.ms/azstackcapacityplanner.

Ajout de GPU sur un Azure Stack Hub existant

Azure Stack Hub prend désormais en charge l’ajout de GPU à n’importe quel système existant. Pour ce faire, exécutez la commande stop-azurestack, suivez la procédure de stop-azurestack, ajoutez des GPU, puis exécutez la commande start-azurestack jusqu’au bout. Si le système contenait déjà des GPU, toutes les machines virtuelles GPU créées précédemment devront être arrêtées-libérées, puis redémarrées.

Correctif et mise à jour, comportement FRU des machines virtuelles

Les machines virtuelles GPU subissent des temps d’arrêt pendant les opérations, telles que les correctifs et les mises à jour (PnU), et le remplacement de matériel (FRU) d’Azure Stack Hub. Le tableau suivant présente l’état de la machine virtuelle tel qu’il a été observé au cours de ces activités, et l’action manuelle que vous pouvez effectuer pour que ces machines virtuelles soient disponibles après cette opération.

Opération PnU - mise à jour complète, mise à jour OEM FRU
État de la machine virtuelle Non disponible pendant la mise à jour. Peut être rendu disponible avec une opération manuelle. La machine virtuelle est automatiquement en ligne après la mise à jour. Non disponible pendant le remplacement de matériel (FRU). Peut être rendu disponible avec une opération manuelle. La machine virtuelle doit être remise en service après le remplacement de matériel (FRU)
Opération manuelle Si la machine virtuelle doit être disponible pendant la mise à jour et si des partitions GPU sont disponibles, la machine virtuelle peut être redémarrée à partir du portail en cliquant sur le bouton Redémarrer. La machine virtuelle sera automatiquement remise en service après la mise à jour La machine virtuelle n’est pas disponible pendant le remplacement matériel (FRU). Si des GPU disponibles, la machine virtuelle peuvent être arrêtée-libérée et redémarrée pendant le remplacement matériel (FRU). Une fois le remplacement matériel (FRU) accompli, la machine virtuelle doit être arrêtée-désallouée à l’aide du bouton Arrêter et remise en service à l’aide du bouton Démarrer.

Installation du pilote invité

Les applets de commande PowerShell suivantes peuvent être utilisées pour l’installation du pilote :

$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

Selon le système d’exploitation, le type et la connectivité de votre machine virtuelle GPU Azure Stack Hub, vous devez apporter une modification avec les paramètres ci-dessous.

Mi25 AMD

La version du pilote invité doit correspondre à la version d’Azure Stack Hub, quel que soit l’état de connectivité. L’utilisation de versions plus récentes non alignées sur la version d’Azure Stack Hub peut entraîner des problèmes de facilité d’utilisation.

Version d’Azure Stack Hub Pilote invité AMD
2206 21.Q2-1, 20.Q4-1
2108 21.Q2-1, 20.Q4-1
2102 21.Q2-1, 20.Q4-1

Connecté

Utilisez le script PowerShell de la section précédente avec le type de pilote approprié pour AMD. L’article Installer des pilotes GPU AMD sur des machines virtuelles de la série N exécutant Windows fournit des instructions sur l’installation du pilote de l’AMD Radeon Instinct MI25 à l’intérieur de la machine virtuelle NVv4 avec GPU-P, ainsi que des étapes sur la façon de vérifier l’installation du pilote.

Déconnecté

Étant donné que l’extension extrait le pilote d’un emplacement sur Internet, une machine virtuelle déconnectée du réseau externe ne peut pas y accéder. Vous pouvez télécharger le pilote à partir de la table précédente et le charger sur un compte de stockage de votre réseau local accessible à la machine virtuelle.

Ajoutez le pilote AMD à un compte de stockage et spécifiez l’URL de ce compte dans Settings. Ces paramètres doivent être utilisés dans l’applet de commande Set-AzureRMVMExtension . Par exemple :

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

NVIDIA

Les pilotes NVIDIA doivent être installés à l’intérieur de la machine virtuelle pour les charges de travail CUDA ou GRID à l’aide du GPU.

Cas d’usage : GRID graphiques/de visualisation

Ce scénario requiert l’utilisation de pilotes GRID. Les pilotes GRID peuvent être téléchargés via le Hub d’applications NVIDIA, à condition que vous disposiez des licences requises. Les pilotes GRID requièrent également un serveur de licences GRID avec les licences GRID appropriées avant d’utiliser les pilotes GRID sur la machine virtuelle.

$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"
}

Cas d’usage : calcul/CUDA – Connecté

Les pilotes CUDA n’ont besoin ni d’un serveur de licences , ni de paramètres modifiés.

Cas d’usage : calcul/CUDA – Déconnecté

Vous pouvez obtenir des liens vers les pilotes NVIDIA CUDA en suivant le lien suivant : 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 :

Vous devrez référencer certaines URL pour vos paramètres.

URL Notes
PUBKEY_URL PUBKEY_URL est la clé publique pour le référentiel de pilotes Nvidia, pas pour la machine virtuelle Linux. Elle est utilisée pour installer le pilote pour Ubuntu.
DKMS_URL DKMS_URL s’utilise pour obliger le package à compiler le module de noyau Nvidia sur RedHat/CentOs.
DRIVER_URL DRIVER_URL est l’URL de téléchargement des informations relatives au référentiel du pilote Nvidia. Elle est ajoutée à la liste de référentiels de la machine virtuelle Linux.
LIS_URL LIS_URL est l’URL de téléchargement du package du service d’intégration Linux pour RedHat/CentOs. Par défaut, Linux Integration Services v4.3 pour Hyper-V et Azure sur l’URL https://www.microsoft.com/download/details.aspx?id=55106 n’est pas installé. LIS_RHEL_ver est la version du noyau de secours qui doit fonctionner avec le pilote Nvidia. Elle est utilisée sur RedHat/CentOs si le noyau de la machine virtuelle Linux n’est pas compatible avec le pilote Nvidia demandé.

Ajoutez les URL à vos paramètres.

$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"
}

Étapes suivantes