Condividi tramite


Macchina virtuale dell'unità di elaborazione grafica (Graphics Processing Unit, GPU) nell'hub di Azure Stack

Questo articolo descrive i modelli di unità di elaborazione grafica (GPU) supportati in un sistema integrato dell'hub di Azure Stack. L'articolo contiene anche istruzioni sull'installazione dei driver usati con le GPU. Il supporto gpu nell'hub di Azure Stack consente soluzioni come intelligenza artificiale, training, inferenza e visualizzazione dei dati. Per supportare applicazioni a elevato utilizzo di grafica, ad esempio Autodesk AutoCAD, è possibile usare AMD Radeon Instinct MI25.

È possibile scegliere tra tre modelli GPU. disponibili nelle GPU NVIDIA V100, NVIDIA T4 e AMD MI25. Queste GPU fisiche sono allineate ai seguenti tipi di macchine virtuali serie N di Azure come indicato di seguito:

Avviso

Le macchine virtuali GPU non sono supportate in questa versione. È necessario eseguire l'aggiornamento all'hub di Azure Stack 2005 o versione successiva. Inoltre, l'hardware dell'hub di Azure Stack deve avere GPU fisiche.

NCv3

Le macchine virtuali serie NCv3 sono basate sulle GPU NVIDIA Tesla V100. I clienti possono sfruttare i vantaggi di queste GPU aggiornate per carichi di lavoro HPC tradizionali, come la modellazione delle riserve, il sequenziamento del DNA, l'analisi di proteine, le simulazioni Monte Carlo e altro ancora.

Dimensione vCPU Memoria: GiB GiB di archiviazione temp (unità SSD) GPU Memoria GPU: GiB Numero massimo di dischi dati Schede di interfaccia di rete max
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

Le macchine virtuali serie NVv4 sono basate su GPU AMD Radeon Instinct MI25. Con la serie NVv4, l'hub di Azure Stack introduce macchine virtuali con GPU parziali. È possibile usare queste dimensioni per applicazioni grafiche e desktop virtuali con accelerazione GPU. Le macchine virtuali NVv4 supportano attualmente solo il sistema operativo guest Windows.

Dimensione vCPU Memoria: GiB GiB di archiviazione temp (unità SSD) GPU Memoria GPU: GiB Numero massimo di dischi dati Schede di interfaccia di rete max
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

Dimensione vCPU Memoria: GiB GPU Memoria GPU: GiB Numero massimo di dischi dati Schede di interfaccia di rete max
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

Le macchine virtuali serie NC_A100 sono basate su GPU NVIDIA Ampere A100, il successore delle GPU Tesla V100. È possibile sfruttare queste GPU aggiornate per carichi di lavoro HPC tradizionali, ad esempio la modellazione del serbatoio, la sequenziazione del DNA, l'analisi delle proteine, le simulazioni monte Carlo e altri.

Dimensione vCPU Memoria: GiB Spazio di archiviazione temp (GiB) Numero massimo di dischi dati GPU GiB della memoria GPU Numero massimo di schede di interfaccia di rete
Standard_NC24ads_A100_v4 24 220 1123 12 1 80 2
Standard_NC48ads_A100_v4 48 440 2246 24 2 160 4

NC_L40S v4

Dimensione vCPU Memoria: GiB Spazio di archiviazione temp (GiB) Numero massimo di dischi dati GPU GiB della memoria GPU Numero massimo di schede di interfaccia di rete
Standard_NC24ads_L40S_v4 24 220 1123 8 1 80 2
Standard_NC48ads_L40S_v4 48 440 2246 16 2 160 4

Considerazioni sul sistema GPU

  • La GPU deve essere uno di questi SKU: AMD MI-25, Nvidia V100 (e varianti), Nvidia T4.
  • Numero di GPU per server supportate (1, 2, 3, 4). Preferito sono: 1, 2 e 4.
  • Tutte le GPU devono essere dello stesso SKU in tutta l'unità di scala.
  • Tutte le quantità gpu per server devono essere uguali in tutta l'unità di scala.
  • Le dimensioni della partizione GPU (per AMD Mi25) devono essere uguali in tutte le macchine virtuali GPU nell'unità di scala.

Pianificazione capacità

Lo strumento di pianificazione della capacità dell'hub di Azure Stack è stato aggiornato per supportare le configurazioni GPU. È accessibile qui.

Aggiunta di GPU in un hub di Azure Stack esistente

L'hub di Azure Stack supporta ora l'aggiunta di GPU a qualsiasi sistema esistente. Per aggiungere una GPU, eseguire stop-azurestack, eseguire la procedura di stop-azurestack, aggiungere GPU e quindi eseguire start-azurestack fino al completamento. Se il sistema aveva già GPU, tutte le macchine virtuali GPU create in precedenza devono essere stop-deallocated e quindi riavviate.

Patch e aggiornamento, comportamento FRU delle macchine virtuali

Le macchine virtuali GPU subiscono tempi di inattività durante operazioni quali patch e aggiornamento (PnU) e sostituzione hardware (FRU) dell'hub di Azure Stack. La tabella seguente illustra lo stato della macchina virtuale come osservato durante queste attività e l'azione manuale che è possibile eseguire per rendere queste macchine virtuali disponibili dopo l'operazione.

Operazione PnU - Aggiornamento completo, aggiornamento OEM FRU
Stato macchina virtuale Non disponibile durante l'aggiornamento. Può essere reso disponibile con l'operazione manuale. La macchina virtuale viene automaticamente online dopo l'aggiornamento. Non disponibile durante fru. Può essere reso disponibile con l'operazione manuale. La macchina virtuale deve essere riattivata dopo il fru
Operazione manuale Se la macchina virtuale deve essere resa disponibile durante l'aggiornamento, se sono disponibili partizioni GPU, è possibile riavviare la macchina virtuale dal portale facendo clic sul pulsante Riavvia . La macchina virtuale esegue automaticamente il backup dopo l'aggiornamento. La macchina virtuale non è disponibile durante il FRU. Se sono presenti GPU disponibili, la macchina virtuale potrebbe essere arrestata e deallocata e riavviata durante il fru. Dopo il completamento del fru fru, la macchina virtuale deve usare stop-deallocated il pulsante Arresta , quindi riavviata usando il pulsante Start .

Installazione del driver guest

Per l'installazione del driver è possibile usare i cmdlet di PowerShell seguenti:

$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

A seconda del sistema operativo, del tipo e della connettività della macchina virtuale GPU dell'hub di Azure Stack, è necessario sostituire questi valori con le impostazioni seguenti.

AMD MI25

La versione del driver guest deve corrispondere alla versione dell'hub di Azure Stack, indipendentemente dallo stato di connettività. L'uso di versioni più recenti non allineate alla versione dell'hub di Azure Stack può causare problemi di usabilità.

Versione dell'hub di Azure Stack Driver guest AMD
2206 e versioni successive 21.Q2-1, 20.Q4-1
2108 21.Q2-1, 20.Q4-1
2102 21.Q2-1, 20.Q4-1

Connesso

Usare lo script di PowerShell nella sezione precedente con il tipo di driver appropriato per AMD. L'articolo Installare i driver GPU AMD nelle macchine virtuali serie N che eseguono Windows fornisce istruzioni sull'installazione del driver per AMD Radeon Instinct MI25 all'interno della macchina virtuale abilitata per GPU NVv4, insieme alla procedura per verificare l'installazione del driver.

Disconnesso

Poiché l'estensione esegue il pull del driver da un percorso su Internet, una macchina virtuale disconnessa dalla rete esterna non può accedervi. È possibile scaricare il driver dalla tabella precedente e caricarlo in un account di archiviazione nella rete locale accessibile alla macchina virtuale.

Aggiungere il driver AMD a un account di archiviazione e specificare l'URL di tale account in Settings. Queste impostazioni devono essere usate nel cmdlet Set-AzureRMVMExtension . Ad esempio:

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

NVIDIA

I driver NVIDIA devono essere installati all'interno della macchina virtuale per i carichi di lavoro CUDA o GRID usando la GPU.

Caso d'uso: grafica/griglia di visualizzazione

Questo scenario richiede l'uso dei driver GRID. I driver GRID possono essere scaricati tramite l'hub applicazioni NVIDIA, purché siano disponibili le licenze necessarie. I driver GRID richiedono anche un server licenze GRID con licenze GRID appropriate prima di usare i driver GRID nella macchina virtuale.

$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 d'uso: compute/CUDA - Connected

I driver CUDA non necessitano di un server licenze e non richiedono impostazioni modificate.

Caso d'uso: compute/CUDA - Disconnesso

I collegamenti ai driver NVIDIA CUDA possono essere ottenuti usando il collegamento: 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:

È necessario fare riferimento ad alcuni URL per le impostazioni:

URL Note
PUBKEY_URL Il PUBKEY_URL è la chiave pubblica per il repository di driver Nvidia non per la macchina virtuale Linux. Viene usato per installare il driver per Ubuntu.
DRIVER_URL DRIVER_URL è l'URL per scaricare le informazioni sul repository del driver Nvidia e viene aggiunto all'elenco di repository della macchina virtuale Linux.

Aggiungere gli URL alle impostazioni.

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

Passaggi successivi