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

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux che si avvicina allo stato end of life (EOL). Prendere in considerazione l'uso e il piano di conseguenza. Per altre informazioni, vedere le linee guida per la fine della vita di CentOS.

Questo articolo descrive quali modelli di unità di elaborazione grafica (GPU) sono supportati in un sistema integrato dell'hub di Azure Stack. Vengono anche fornite 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. Sono disponibili in 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. Sarà 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 della 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 dei serbatoi, la sequenziazione del DNA, l'analisi delle proteine, le simulazioni Monte Carlo e altre.

Dimensione vCPU Memoria: GiB Spazio di archiviazione temp (GiB) Numero massimo di dischi dati GPU GiB memoria GPU Schede di interfaccia di rete max
Standard_NC24ads_A100_v4 24 220 1123 12 1 80 2
Standard_NC48ads_A100_v4 48 440 2246 24 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à di 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 della capacità

Azure Stack Hub capacity Planner è stato aggiornato per supportare le configurazioni GPU. È accessibile in https://aka.ms/azstackcapacityplanner.

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. A tale scopo, 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, le macchine virtuali GPU create in precedenza dovranno essere arrestate eriavviate.

Patch e aggiornamento, comportamento fru delle macchine virtuali

Le macchine virtuali GPU subiranno 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 della 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. È necessario eseguire il backup della macchina virtuale 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 eseguirà automaticamente il backup dopo l'aggiornamento La macchina virtuale non è disponibile durante il FRU. Se sono disponibili GPU, è possibile che la macchina virtuale venga arrestata e riavviata durante la fru. Dopo il completamento fru, la macchina virtuale deve essere arrestata-deallocata usando il pulsante Arresta e avviato il backup usando il pulsante Avvia .

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, sarà necessario modificare 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 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 una posizione su Internet, una macchina virtuale disconnessa dalla rete esterna non può accedervi. È possibile scaricare il driver dalla tabella precedente e caricare 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 carichi di lavoro CUDA o GRID usando la GPU.

Caso d'uso: griglia grafica/visualizzazione

Questo scenario richiede l'uso dei driver GRID. I driver GRID possono essere scaricati tramite l'hub applicazioni NVIDIA, a condizione che siano disponibili le licenze necessarie. I driver GRID richiedono anche un server di licenza 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: calcolo/CUDA - Connesso

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

Caso d'uso: calcolo/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.
DKMS_URL DKMS_URL viene usato per ottenere il pacchetto per compilare il modulo kernel Nvidia in RedHat/CentOs.
DRIVER_URL DRIVER_URL è l'URL per scaricare le informazioni sul repository del driver Nvidia e viene aggiunto all'elenco di repos della macchina virtuale Linux.
LIS_URL LIS_URL è l'URL per scaricare il pacchetto del servizio di integrazione Linux per RedHat/CentOs, Linux Integration Services v4.3 per Hyper-V e Azure all'URL https://www.microsoft.com/download/details.aspx?id=55106 per impostazione predefinita non è installato LIS_RHEL_ver è la versione del kernel di fallback che deve funzionare con il driver Nvidia. Viene usato in RedHat/CentOs se il kernel della macchina virtuale Linux non è compatibile con il driver Nvidia richiesto.

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