Grafikprozessor (GPU)-VM in Azure Stack Hub

Achtung

In diesem Artikel wird auf CentOS verwiesen, eine Linux-Distribution, die sich dem End Of Life (EOL) status nähert. Bitte berücksichtigen Sie Ihre Nutzung und Ihren Plan entsprechend. Weitere Informationen finden Sie in der CentOS-Anleitung zum Ende des Lebenszyklus.

In diesem Artikel ist beschrieben, welche GPU-Modelle (Graphics Processing Unit, Grafikprozessor) in einem integrierten Azure Stack Hub-System unterstützt werden. Außerdem finden Sie hier Anweisungen zum Installieren der mit den GPUs verwendeten Treiber. Die GPU-Unterstützung in Azure Stack Hub ermöglicht Lösungen wie künstliche Intelligenz, Training, Rückschluss und Datenvisualisierung. Der AMD Radeon Instinct MI25 kann zur Unterstützung von grafikintensiven Anwendungen wie Autodesk AutoCAD verwendet werden.

Sie können aus drei GPU-Modellen wählen. NVIDIA V100, NVIDIA T4 und AMD MI25. Diese physischen GPUs entsprechen den folgenden Azure-VM-Typen der N-Serie:

Warnung

GPU-VMs werden in diesem Release nicht unterstützt. Sie müssen ein Upgrade auf Azure Stack Hub 2005 oder höher durchführen. Außerdem muss Ihre Azure Stack Hub-Hardware über physische GPUs verfügen.

NCv3

NCv3-Serien-VMs werden mit NVIDIA Tesla V100-GPUs betrieben. Kunden können diese neuen GPUs für herkömmliche HPC-Workloads wie Modellierung von Lagerstätten, DNA-Sequenzierung, Proteinanalysen, Monte Carlo-Simulationen und Ähnliches nutzen.

Size vCPU Memory: GiB Temporärer Speicher (SSD): GiB GPU GPU-Arbeitsspeicher: GiB Max. Anzahl Datenträger Maximale Anzahl NICs
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

Die VMs der NVv4-Serie verfügen über AMD Radeon Instinct MI25-GPUs. Mit der NVv4-Serie führt Azure Stack Hub VMs mit partiellen GPUs ein. Diese Größe kann für GPU-beschleunigte Grafikanwendungen und virtuelle Desktops verwendet werden. Von virtuellen Computern der NVv4-Serie wird derzeit nur das Windows-Gastbetriebssystem unterstützt.

Size vCPU Memory: GiB Temporärer Speicher (SSD): GiB GPU GPU-Arbeitsspeicher: GiB Max. Anzahl Datenträger Maximale Anzahl NICs
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 Memory: GiB GPU GPU-Arbeitsspeicher: GiB Max. Anzahl Datenträger Maximale Anzahl NICs
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

Die VMs der NC_A100 Serie werden von NVIDIA Ampere A100 GPUs, dem Nachfolger der Tesla V100 GPUs, angetrieben. Sie können diese aktualisierten GPUs für herkömmliche HPC-Workloads wie Reservoirmodellierung, DNA-Sequenzierung, Proteinanalyse, Monte Carlo-Simulationen und andere nutzen.

Size vCPU Memory: GiB Temporärer Speicher (GiB) Max. Anzahl Datenträger GPU GPU-Speicher-GiB Maximale Anzahl NICs
Standard_NC24ads_A100_v4 24 220 1123 12 1 80 2
Standard_NC48ads_A100_v4 48 440 2246 24 2 160 4

Überlegungen zum Standortsystem

  • Die GPU muss eine dieser SKUs nutzen: AMD MI-25, Nvidia V100 (und Varianten), Nvidia T4.
  • Anzahl unterstützter GPUs pro Server (1, 2, 3, 4). Bevorzugt: 1, 2 und 4
  • Alle GPUs müssen innerhalb der Skalierungseinheit exakt dieselbe SKU aufweisen.
  • Die GPU-Anzahl pro Server muss innerhalb der Skalierungseinheit identisch sein.
  • Die GPU-Partitionsgröße (für AMD Mi25) muss auf allen GPU-VMs in der Skalierungseinheit gleich sein.

Kapazitätsplanung

Der Azure Stack Hub Capacity Planner wurde aktualisiert, um GPU-Konfigurationen zu unterstützen. Auf ihn kann über https://aka.ms/azstackcapacityplanner zugegriffen werden.

Hinzufügen von GPUs zu einem vorhandenen Azure Stack Hub

Azure Stack Hub unterstützt jetzt das Hinzufügen von GPUs zu einem vorhandenen System. Führen Sie hierzu „stop-azurestack“ aus, führen Sie das Verfahren „stop-azurestack“ durch, fügen Sie GPUs hinzu, und führen Sie anschließend start-azurestack bis zum Abschluss aus. Wenn das System bereits über GPUs verfügte, müssen alle zuvor erstellten GPU-VMs stop-deallocated (Zuordnung aufheben) und anschließend neu gestartet werden.

Patch- und Update- sowie FRU-Verhalten von VMs

Vorgänge wie Patchen und Aktualisieren (Patch und Update, PnU) und der Austausch von Hardware (Field Replaceable Unit, FRU) für Azure Stack Hub führen bei GPU-VMs zu einer Downtime. In der folgenden Tabelle werden der Zustand des virtuellen Computers, der während dieser Aktivitäten beobachtet wird, und die manuellen Maßnahmen behandelt, die Sie ergreifen können, um diese virtuellen Computer nach dem Vorgang wieder zur Verfügung zu stellen.

Vorgang PnU: Vollständiges Update, OEM-Update FRU
VM-Zustand Während des Updates nicht verfügbar. Kann mit manuellem Betrieb verfügbar gemacht werden. Der virtuelle Computer ist nach dem Update automatisch online. Während der FRU nicht verfügbar. Kann mit manuellem Betrieb verfügbar gemacht werden. Virtueller Computer muss nach FRU erneut gestartet werden.
Manuelle Benutzeraktion Wenn die VM während des Updates verfügbar gemacht werden muss und GPU-Partitionen verfügbar sind, können Sie die VM über das Portal neu starten, indem Sie auf die Schaltfläche Neu starten klicken. Der virtuelle Computer wird nach dem Update automatisch wieder gestartet. Der virtuelle Computer ist während der FRU-Zeit nicht verfügbar. Wenn GPUs verfügbar sind, kann die Zuordnung des virtuellen Computers beendet („stop-deallocated“) und während der FRU neu gestartet werden. Nach FRU-Abschluss müssen Sie die VM beenden und ihre Zuordnung aufheben, indem Sie auf die Schaltfläche Beenden klicken und sie anschließend mithilfe der Schaltfläche Starten erneut starten.

Installation des Gasttreibers

Die folgenden PowerShell-Cmdlets können für die Treiberinstallation verwendet werden:

$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

Je nach Betriebssystem, Typ und Konnektivität Ihrer Azure Stack Hub GPU-VM müssen Sie mit den unten angegebenen Einstellungen ändern.

AMD MI25

Die Gasttreiberversion muss unabhängig vom Konnektivitätsstatus mit der Azure Stack Hub-Version übereinstimmen. Die Verwendung neuerer Versionen, die nicht mit der Azure Stack Hub-Version übereinstimmen, kann zu Problemen mit der Benutzerfreundlichkeit führen.

Azure Stack Hub-Version AMD-Gasttreiber
2206 21.Q2-1, 20.Q4-1
2108 21.Q2-1, 20.Q4-1
2102 21.Q2-1, 20.Q4-1

Verbunden

Verwenden Sie das PowerShell-Skript im vorherigen Abschnitt mit dem entsprechenden Treibertyp für AMD. Der Artikel Installieren von AMD GPU-Treibern auf VMs der N-Serie, auf denen Windows ausgeführt wird , enthält Anweisungen zum Installieren des Treibers für die AMD Radeon Instinct MI25 in der NVv4 GPU-P-fähigen VM sowie Schritte zum Überprüfen der Treiberinstallation.

Getrennt

Da die Erweiterung den Treiber von einem Speicherort im Internet abruft, kann ein virtueller Computer, der vom externen Netzwerk getrennt ist, nicht darauf zugreifen. Sie können den Treiber aus der vorherigen Tabelle herunterladen und in ein Speicherkonto in Ihrem lokalen Netzwerk hochladen, auf das die VM zugreifen kann.

Fügen Sie den AMD-Treiber zu einem Speicherkonto hinzu, und geben Sie die URL zu diesem Konto in Settingsan. Diese Einstellungen müssen im Cmdlet Set-AzureRMVMExtension verwendet werden. Beispiel:

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

NVIDIA

NVIDIA-Treiber müssen auf dem virtuellen Computer installiert sein, damit für CUDA- oder GRID-Workloads die GPU verwendet werden kann.

Anwendungsfall: Grafik-/Visualisierungs-GRID

Dieses Szenario erfordert die Verwendung von GRID-Treibern. GRID-Treiber können über den NVIDIA Application Hub heruntergeladen werden, sofern Sie über die erforderlichen Lizenzen verfügen. Die GRID-Treiber erfordern außerdem einen GRID-Lizenzserver mit entsprechenden GRID-Lizenzen, bevor die GRID-Treiber auf der VM verwendet werden können.

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

Anwendungsfall: Compute/CUDA: Verbunden

CUDA-Treiber benötigen keinen Lizenzserver und keine geänderten Einstellungen.

Anwendungsfall: Compute/CUDA: Getrennt

Links zu NVIDIA CUDA-Treibern können über folgenden Link abgerufen werden: 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:

Sie müssen für Ihre Einstellungen auf einige URLs verweisen.

URL Hinweise
PUBKEY_URL PUBKEY_URL ist der öffentliche Schlüssel für das Nvidia-Treiber-Repository, nicht für den virtuellen Linux-Computer. Es wird zum Installieren des Treibers für Ubuntu verwendet.
DKMS_URL DKMS_URL wird verwendet, um das Paket zum Kompilieren des Nvidia-Kernelmoduls unter RedHat/CentOs abzurufen.
DRIVER_URL DRIVER_URL ist die URL zum Herunterladen der Repositoryinformationen des Nvidia-Treibers und wird der Repositoryliste der Linux-VM hinzugefügt.
LIS_URL LIS_URL ist die URL zum Herunterladen des Linux Integration Service-Pakets für RedHat/CentOs. Linux Integration Services v4.3 für Hyper-V und Azure unter der URL https://www.microsoft.com/download/details.aspx?id=55106 sind standardmäßig nicht installiert. LIS_RHEL_ver ist die Fallbackkernelversion, die mit dem Nvidia-Treiber funktionieren sollte. Sie wird unter RedHat/CentOs verwendet, wenn der Kernel der Linux-VM nicht mit dem angeforderten Nvidia-Treiber kompatibel ist.

Fügen Sie die URLs Ihren Einstellungen hinzu.

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

Nächste Schritte