Estensione del driver GPU NVIDIA per Linux

Questa estensione installa i driver GPU NVIDIA in macchine virtuali serie N Linux. A seconda della famiglia di macchine virtuali, l'estensione installa i driver CUDA o GRID. Quando si installano i driver NVIDIA con questa estensione, l'utente accetta e acconsente alle condizioni del contratto di licenza con l'utente finale di NVIDIA. Durante il processo di installazione, la macchina virtuale potrebbe venire riavviata per completare l'installazione del driver.

Sono disponibili istruzioni sull'installazione manuale dei driver e sulle versioni supportate correnti. È anche disponibile un'estensione per installare i driver GPU NVIDIA nelle macchine virtuali serie N di Windows.

Nota

Con l'avvio protetto abilitato, tutti i componenti di avvio del sistema operativo (caricatore di avvio, kernel, driver kernel) devono essere firmati da autori attendibili (chiave considerata attendibile dal sistema). L'avvio protetto non è supportato con le estensioni Windows o Linux. Per altre informazioni sull'installazione manuale dei driver GPU con avvio protetto abilitato, vedere Configurazione del driver GPU serie N di Azure per Linux.

Nota

Le estensioni del driver GPU non aggiornano automaticamente il driver dopo l'installazione dell'estensione. Se è necessario passare a una versione più recente del driver, scaricare e installare manualmente il driver o rimuovere e aggiungere nuovamente l'estensione.

Prerequisiti

Sistema operativo

Questa estensione supporta le distribuzioni dei sistemi operativi seguenti, in base al supporto dei driver per la versione del sistema operativo specifica:

Distribuzione Versione
Linux Ubuntu: 20.04 LTS
Linux: Red Hat Enterprise Linux 7.9

Nota

I driver CUDA supportati più recenti per le macchine virtuali serie NC sono attualmente 470.82.01. Le versioni successive del driver non sono supportate nelle schede K80 nel controller di rete. Mentre l'estensione viene aggiornata con questa fine del supporto per NC, installare manualmente i driver CUDA per le schede K80 nella serie NC.

Importante

Questo documento fa riferimento a una versione di Linux vicina o alla fine del servizio (EOL). Prendere in considerazione l'aggiornamento a una versione più recente.

Connettività Internet

L'estensione di Microsoft Azure per i driver GPU NVIDIA richiede che la macchina virtuale di destinazione sia connessa e abbia accesso a Internet.

Schema dell'estensione

Il codice JSON riportato di seguito mostra lo schema dell'estensione:

{
  "name": "<myExtensionName>",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

Proprietà

Nome Valore/Esempio Tipo di dati
apiVersion 2015-06-15 data
publisher Microsoft.HpcCompute string
type NvidiaGpuDriverLinux string
typeHandlerVersion 1.6 int

Impostazione

Tutte le impostazioni sono facoltative. In base al comportamento predefinito, il kernel non viene aggiornato se non è necessario per l'installazione del driver e vengono installati il driver supportato più recente e il toolkit CUDA (se applicabile).

Nome Descrizione Default value Valori validi Tipo di dati
updateOS Aggiorna il kernel anche se non è necessario per l'installazione del driver. false true, false boolean
driverVersion NV: versione del driver GRID.
NC/ND: versione del toolkit CUDA. I driver più recenti del CUDA scelto vengono installati automaticamente.
più recente Elenco delle versioni dei driver supportate string
installCUDA Installa il toolkit CUDA. Pertinente solo per le macchine virtuali serie NC/ND. true true, false boolean

Distribuzione

Azure portal

È possibile distribuire le estensioni di macchine virtuali NVIDIA di Azure nel portale di Azure.

  1. Nel browser passare al portale di Azure.

  2. Passare alla macchina virtuale in cui si vuole installare il driver.

  3. Nel menu a sinistra selezionare Estensioni.

    Screenshot che mostra la selezione di estensioni nel menu del portale di Azure.

  4. Selezionare Aggiungi.

    Screenshot che mostra l'aggiunta di un'estensione relativa a una macchina virtuale per la macchina virtuale selezionata.

  5. Scorrere fino a trovare e selezionare Estensione driver GPU NVIDIA e quindi selezionare Avanti.

    Screenshot che mostra la selezione dell'estensione del driver NVIDIA G P U.

  6. Selezionare Rivedi e crea e quindi Crea. Attendere alcuni minuti per la distribuzione del driver.

    Screenshot che mostra la selezione del pulsante Rivedi e crea.

  7. Verificare che l'estensione sia stata aggiunta all'elenco delle estensioni installate.

    Screenshot che mostra la nuova estensione nell'elenco delle estensioni per la macchina virtuale.

Modello di Azure Resource Manager

È possibile usare i modelli di Azure Resource Manager per distribuire le estensioni delle macchine virtuali di Azure. I modelli sono ideali quando si distribuiscono una o più macchine virtuali che richiedono la configurazione post-distribuzione.

La configurazione JSON per un'estensione macchina virtuale può essere annidata nella risorsa della macchina virtuale o posizionata nel livello radice o nel livello superiore di un modello JSON di Resource Manager. Il posizionamento della configurazione JSON influisce sul valore del nome e del tipo di risorsa. Per altre informazioni, vedere Set name and type for child resources (Impostare il nome e il tipo per le risorse figlio).

L'esempio seguente presuppone che l'estensione sia annidata all'interno della risorsa della macchina virtuale. Quando la risorsa di estensione è annidata, il codice JSON viene inserito nell'oggetto "resources": [] della macchina virtuale.

{
  "name": "myExtensionName",
  "type": "extensions",
  "location": "[resourceGroup().location]",
  "apiVersion": "2015-06-15",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', myVM)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

PowerShell

Set-AzVMExtension
    -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" `
    -Location "southcentralus" `
    -Publisher "Microsoft.HpcCompute" `
    -ExtensionName "NvidiaGpuDriverLinux" `
    -ExtensionType "NvidiaGpuDriverLinux" `
    -TypeHandlerVersion 1.6 `
    -SettingString '{ `
	}'

Interfaccia della riga di comando di Azure

L'esempio seguente rispecchia gli esempi precedenti di Resource Manager e PowerShell:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6

Nell'esempio seguente vengono aggiunte anche due impostazioni personalizzate facoltative come esempio per l'installazione non predefinita del driver. In particolare, aggiorna il kernel del sistema operativo alla versione più recente e installa un driver di versione specifico del toolkit CUDA. Anche in questo caso, si noti che --settings sono facoltativi e predefiniti. L'aggiornamento del kernel potrebbe aumentare i tempi di installazione dell'estensione. Inoltre, la scelta di una versione specifica del toolkit CUDA (precedente) potrebbe non essere sempre compatibile con i kernel più recenti.

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6 \
  --settings '{ \
    "updateOS": true, \
    "driverVersion": "10.0.130" \
  }'

Risoluzione dei problemi e supporto

Risoluzione dei problemi

È possibile recuperare i dati sullo stato delle distribuzioni dell'estensione nel portale di Azure e tramite Azure PowerShell e l'interfaccia della riga di comando di Azure. Per visualizzare lo stato di distribuzione delle estensioni per una determinata macchina virtuale, eseguire il comando seguente:

Get-AzVMExtension -ResourceGroupName myResourceGroup -VMName myVM -Name myExtensionName
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

L'output dell'esecuzione dell'estensione viene registrato nel file seguente. Fare riferimento a questo file per tenere traccia dello stato di qualsiasi installazione a esecuzione prolungata e per la risoluzione di eventuali errori.

/var/log/azure/nvidia-vmext-status

Codici di uscita

Codice di uscita Significato Azione possibile
0 Operazione riuscita
1 Uso non corretto dell'estensione Controllare il log di output dell'esecuzione.
10 Linux Integration Services per Hyper-V e Azure non disponibile o installato Controllare l'output di lspci.
11 GPU NVIDIA non trovata in questa dimensione di macchina virtuale Usare una dimensione e un sistema operativo della macchina virtuale supportati.
12 Offerta di immagine non supportata
13 Dimensioni della macchina virtuale non supportate Usare una macchina virtuale serie N per la distribuzione.
14 Operazione conclusa Controllare il log di output dell'esecuzione.

Supporto tecnico

Per ricevere assistenza in relazione a qualsiasi aspetto di questo articolo, contattare gli esperti di Azure nei forum MSDN e Stack Overflow di Azure. In alternativa, è possibile archiviare un evento imprevisto di supporto tecnico di Azure. Passare al supporto di Azure e selezionare Ottenere supporto. Per informazioni sull'uso del supporto di Azure, vedere le domande frequenti sul supporto di Azure.

Passaggi successivi