Dopo aver creato un'istanza di una macchina virtuale (VM) con una o più GPU, il tuo sistema richiede i driver di dispositivo NVIDIA per consentire alle applicazioni di accedere al dispositivo. Assicurati che lo spazio su disco libero delle istanze delle macchine virtuali (VM) sia sufficiente. Quando crei la nuova VM, devi scegliere almeno 40 GB per il disco di avvio.
Per installare i driver, puoi scegliere tra due opzioni:
Se hai bisogno di GPU per grafica 3D con accelerazione hardware, ad esempio desktop remoto o giochi, consulta la pagina Installare i driver per le workstation virtuali NVIDIA RTX (vWS).
Per altri carichi di lavoro, segui le istruzioni in questo documento per installare il driver NVIDIA.
Versioni driver NVIDIA, toolkit CUDA e runtime CUDA
Potrebbero essere necessari diversi componenti di driver e runtime nel tuo ambiente. Sono inclusi i seguenti componenti:
- Driver NVIDIA
- Toolkit CUDA
- Runtime CUDA
Quando installi questi componenti, puoi configurare l'ambiente in base alle tue esigenze. Ad esempio, se disponi di una versione precedente di Tensorflow che funziona meglio con una versione precedente del toolkit CUDA, ma la GPU che vuoi utilizzare richiede una versione successiva del driver NVIDIA, puoi installare una versione precedente di un toolkit CUDA insieme a una versione successiva del driver NVIDIA.
Tuttavia, devi assicurarti che le versioni del driver NVIDIA e del toolkit CUDA siano compatibili. Per la compatibilità del toolkit CUDA e del driver NVIDIA, consulta la documentazione NVIDIA sulla compatibilità con CUDA.
Versioni del driver NVIDIA richieste
Per le GPU NVIDIA in esecuzione su Compute Engine, sono consigliate le seguenti versioni del driver NVIDIA.
Modello GPU | Linux | Windows |
---|---|---|
NVIDIA H100 | 535.86.10 o versioni successive | N/A |
NVIDIA L4 | 535.86.10 o versioni successive | 536,67 |
NVIDIA A100, T4, P4, P100 e V100 | 535.54.03 o versioni successive | 536.25 o versioni successive |
Installa i driver per GPU sulle VM
Un modo per installare il driver NVIDIA sulla maggior parte delle VM è installare il toolkit NVIDIA CUDA.
Per installare il toolkit NVIDIA, completa i seguenti passaggi:
Seleziona un toolkit CUDA che supporti il driver minimo di cui hai bisogno.
Connettiti alla VM in cui vuoi installare il driver.
Sulla VM, scarica e installa il toolkit CUDA. Il pacchetto di installazione e la guida per un toolkit consigliato si trovano nella tabella seguente. Prima di installare il toolkit, assicurati di completare la procedura di preinstallazione descritta nella Guida all'installazione.
Modello GPU Versione minima consigliata del toolkit CUDA Istruzioni di installazione per la versione minima - NVIDIA H100
- Linux: CUDA Toolkit 12.2 Update 1
- Windows: N/D
- Linux: guida all'installazione di CUDA 12.2
- Windows: N/D
- NVIDIA L4
- Linux: CUDA Toolkit 12.2 Update 1
- Windows: CUDA Toolkit 12.2 Update 2
- NVIDIA A100
- NVIDIA T4
- NVIDIA V100
- NVIDIA P100
- NVIDIA P4
- Linux: CUDA Toolkit 12.2
- Windows: CUDA Toolkit 12.2
Installa i driver GPU utilizzando lo script di installazione
Per automatizzare la procedura di installazione, puoi utilizzare i seguenti script. Per esaminare questi script, consulta il repository GitHub.
Linux
Utilizza queste istruzioni per installare i driver GPU su una VM in esecuzione.
Sistemi operativi supportati
Lo script di installazione di Linux è stato testato sui seguenti sistemi operativi:
- Debian 10, 11 e 12
- Red Hat Enterprise Linux (RHEL) 8 e 9
- Rocky Linux 8 e 9
- Ubuntu 20, 22 e 24
Se utilizzi questo script su altri sistemi operativi, l'installazione potrebbe non riuscire. Questo script può installare il driver NVIDIA e il CUDA Toolkit. Per installare i driver GPU e CUDA Toolkit, completa i seguenti passaggi:
Se utilizzi la versione 2.38.0 o successiva di Ops Agent che raccoglie le metriche GPU sulla VM, devi arrestare l'agente prima di poter installare o eseguire l'upgrade dei driver GPU utilizzando questo script di installazione.
Dopo aver completato l'installazione o l'upgrade del driver GPU, devi riavviare la VM.
Per arrestare Ops Agent, esegui questo comando:
sudo systemctl stop google-cloud-ops-agent
Assicurati che Python 3 sia installato sul tuo sistema operativo.
Scarica lo script di installazione.
curl -L https://github.com/GoogleCloudPlatform/compute-gpu-installation/releases/download/cuda-installer-v1.1.0/cuda_installer.pyz --output cuda_installer.pyz
Esegui lo script di installazione.
sudo python3 cuda_installer.pyz install_driver
L'esecuzione dello script richiede un po' di tempo. La VM viene riavviata. Se la VM si riavvia, esegui di nuovo lo script per continuare l'installazione.
Verifica l'installazione. Consulta Verificare l'installazione del driver GPU.
Puoi anche utilizzare questo strumento per installare il toolkit CUDA:
sudo python3 cuda_installer.pyz install_cuda
L'esecuzione di questo script potrebbe richiedere almeno 30 minuti. La VM viene riavviata. Se la VM viene riavviata, esegui di nuovo lo script per continuare l'installazione.
Verificare l'installazione del toolkit CUDA.
sudo python3 cuda_installer.pyz verify_cuda
Linux (script di avvio)
Utilizza queste istruzioni per installare i driver GPU durante l'avvio di una VM.
Sistemi operativi supportati
Lo script di installazione di Linux è stato testato sui seguenti sistemi operativi:
- Debian 10, 11 e 12
- Red Hat Enterprise Linux (RHEL) 8 e 9
- Rocky Linux 8 e 9
- Ubuntu 20, 22 e 24
Se utilizzi questo script su altri sistemi operativi, l'installazione potrebbe non riuscire. Questo script può installare il driver NVIDIA e il CUDA Toolkit.
Utilizza il seguente script di avvio per automatizzare il driver e l'installazione del CUDA Toolkit:
Windows
Questo script di installazione può essere utilizzato sulle VM per cui è abilitato l'avvio protetto.
- Per le VM Windows che utilizzano una serie di macchine G2, questo script installa solo il driver NVIDIA.
- Per altri tipi di macchina, lo script installa il driver NVIDIA e il toolkit CUDA.
Apri un terminale PowerShell come amministratore, quindi completa i seguenti passaggi:
Se utilizzi Windows Server 2016, imposta la versione TLS (Transport Layer Security) su 1.2.
[Net.ServicePointManager]::SecurityProtocol = 'Tls12'
Scarica lo script.
Invoke-WebRequest https://github.com/GoogleCloudPlatform/compute-gpu-installation/raw/main/windows/install_gpu_driver.ps1 -OutFile C:\install_gpu_driver.ps1
Esegui lo script.
C:\install_gpu_driver.ps1
L'esecuzione dello script richiede un po' di tempo. Durante il processo di installazione non vengono forniti prompt di comandi. Una volta chiuso lo script, il driver viene installato.
Questo script installa i driver nella seguente posizione predefinita sulla tua VM:
C:\Program Files\NVIDIA Corporation\
.Verifica l'installazione. Consulta Verificare l'installazione del driver GPU.
Installare i driver GPU (VM con avvio protetto)
Queste istruzioni riguardano l'installazione dei driver GPU sulle VM Linux che utilizzano Avvio protetto.
Se utilizzi una VM Windows o una VM Linux che non utilizza Avvio protetto, leggi una delle seguenti istruzioni:
L'installazione del driver su una VM con avvio protetto è diversa per le VM Linux, perché queste VM richiedono che tutti i moduli kernel siano firmati dalla chiave considerata attendibile dal sistema.
Queste istruzioni sono disponibili solo per le VM Linux con Avvio protetto eseguite sui sistemi operativi Ubuntu 18.04, 20.04 e 22.04. È in corso il supporto di altri sistemi operativi Linux.
Per installare i driver GPU sulle VM Ubuntu che utilizzano l'avvio protetto, completa i seguenti passaggi:
Connettiti alla VM in cui vuoi installare il driver.
Aggiornare il repository.
sudo apt-get update
Cerca il pacchetto del modulo NVIDIA kernel più recente o la versione desiderata. Questo pacchetto contiene i moduli kernel NVIDIA firmati dalla chiave Ubuntu. Se vuoi trovare una versione precedente, modifica il numero del parametro tail per ottenere una versione precedente. Ad esempio, specifica
tail -n 2
.Ubuntu PRO e LTS
Per Ubuntu PRO e LTS, esegui questo comando:
NVIDIA_DRIVER_VERSION=$(sudo apt-cache search 'linux-modules-nvidia-[0-9]+-gcp$' | awk '{print $1}' | sort | tail -n 1 | head -n 1 | awk -F"-" '{print $4}')
FIPS Ubuntu PRO
Per Ubuntu PRO FIPS, esegui questi comandi:
Abilita gli aggiornamenti FIPS di Ubuntu.
sudo ua enable fips-updates
Arresta e riavvia
sudo shutdown -r now
Scarica il pacchetto più recente.
NVIDIA_DRIVER_VERSION=$(sudo apt-cache search 'linux-modules-nvidia-[0-9]+-gcp-fips$' | awk '{print $1}' | sort | tail -n 1 | head -n 1 | awk -F"-" '{print $4}')
Puoi controllare la versione del driver scelta eseguendo
echo $NVIDIA_DRIVER_VERSION
. L'output è una stringa di versione simile a455
.Installa il pacchetto del modulo kernel e il driver NVIDIA corrispondente.
sudo apt install linux-modules-nvidia-${NVIDIA_DRIVER_VERSION}-gcp nvidia-driver-${NVIDIA_DRIVER_VERSION}
Se il comando non è riuscito con
package not found error
, il driver NVIDIA più recente potrebbe non essere presente nel repository. Riprova il passaggio precedente e seleziona una versione del driver precedente modificando il numero di coda.Verifica che il driver NVIDIA sia installato. Potresti dover riavviare la VM.
Se hai riavviato il sistema per verificare la versione NVIDIA. Dopo il riavvio, devi reimpostare la variabile
NVIDIA_DRIVER_VERSION
eseguendo di nuovo il comando utilizzato nel passaggio 3.Configura APT per utilizzare il repository di pacchetti NVIDIA.
Per aiutare APT a scegliere la dipendenza corretta, blocca i repository come segue:
sudo tee /etc/apt/preferences.d/cuda-repository-pin-600 > /dev/null <<EOL Package: nsight-compute Pin: origin *ubuntu.com* Pin-Priority: -1
Package: nsight-systems Pin: origin *ubuntu.com* Pin-Priority: -1
Package: nvidia-modprobe Pin: release l=NVIDIA CUDA Pin-Priority: 600
Package: nvidia-settings Pin: release l=NVIDIA CUDA Pin-Priority: 600
Package: * Pin: release l=NVIDIA CUDA Pin-Priority: 100 EOLInstalla
software-properties-common
. Questa operazione è necessaria se utilizzi immagini minime di Ubuntu.sudo apt install software-properties-common
Imposta la versione di Ubuntu.
Ubuntu 18.04
Per Ubuntu 18.04, esegui questo comando:
export UBUNTU_VERSION=ubuntu1804/x86_64
Ubuntu 20.04
Per Ubuntu 20.04, esegui questo comando:
export UBUNTU_VERSION=ubuntu2004/x86_64
Ubuntu 22.04
Per Ubuntu 22.04, esegui questo comando:
export UBUNTU_VERSION=ubuntu2204/x86_64
Scarica il pacchetto
cuda-keyring
.wget https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/cuda-keyring_1.0-1_all.deb
Installa il pacchetto
cuda-keyring
.sudo dpkg -i cuda-keyring_1.0-1_all.deb
Aggiungi il repository NVIDIA.
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/ /"
Se richiesto, seleziona l'azione predefinita per mantenere la versione corrente.
Trova la versione del driver CUDA compatibile.
Lo script seguente determina la versione del driver CUDA più recente compatibile con il driver NVIDIA appena installato:
CUDA_DRIVER_VERSION=$(apt-cache madison cuda-drivers | awk '{print $3}' | sort -r | while read line; do if dpkg --compare-versions $(dpkg-query -f='${Version}\n' -W nvidia-driver-${NVIDIA_DRIVER_VERSION}) ge $line ; then echo "$line" break fi done)
Puoi controllare la versione del driver CUDA eseguendo
echo $CUDA_DRIVER_VERSION
. L'output è una stringa di versione simile a455.32.00-1
.Installa i driver CUDA con la versione identificata nel passaggio precedente.
sudo apt install cuda-drivers-${NVIDIA_DRIVER_VERSION}=${CUDA_DRIVER_VERSION} cuda-drivers=${CUDA_DRIVER_VERSION}
(Facoltativo) Trattieni
dkms
pacchetti.Dopo aver abilitato l'Avvio protetto, tutti i moduli kernel devono essere firmati per poter essere caricati. I moduli del kernel creati da
dkms
non funzionano sulla VM perché non sono firmati correttamente per impostazione predefinita. Questo passaggio è facoltativo, ma può aiutarti a impedire l'installazione accidentale di altri pacchettidkms
in futuro.Per contenere
dkms
pacchetto, esegui questo comando:sudo apt-get remove dkms && sudo apt-mark hold dkms
Installare il toolkit e il runtime CUDA.
Scegli la versione CUDA adatta. Lo script seguente determina la versione CUDA più recente compatibile con il driver CUDA appena installato:
CUDA_VERSION=$(apt-cache showpkg cuda-drivers | grep -o 'cuda-runtime-[0-9][0-9]-[0-9],cuda-drivers [0-9\\.]*' | while read line; do if dpkg --compare-versions ${CUDA_DRIVER_VERSION} ge $(echo $line | grep -Eo '[[:digit:]]+\.[[:digit:]]+') ; then echo $(echo $line | grep -Eo '[[:digit:]]+-[[:digit:]]') break fi done)
Puoi controllare la versione CUDA eseguendo
echo $CUDA_VERSION
. L'output è una stringa di versione simile a11-1
.Installa il pacchetto CUDA.
sudo apt install cuda-${CUDA_VERSION}
Verifica l'installazione di CUDA.
sudo nvidia-smi
/usr/local/cuda/bin/nvcc --version
Il primo comando stampa le informazioni sulla GPU. Il secondo comando stampa la versione del compilatore CUDA installata.
Verifica l'installazione del driver GPU
Dopo aver completato la procedura di installazione dei driver, verifica che il driver sia installato e inizializzato correttamente.
Linux
Connettiti all'istanza Linux e utilizza il comando nvidia-smi
per verificare che il driver funzioni correttamente.
sudo nvidia-smi
L'output è simile al seguente:
Tue Mar 21 19:50:15 2023 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 530.30.02 Driver Version: 530.30.02 CUDA Version: 12.1 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA L4 Off | 00000000:00:03.0 Off | 0 | | N/A 63C P0 30W / 75W | 0MiB / 23034MiB | 8% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
Se questo comando non funziona, verifica quanto segue:
Controlla se ci sono GPU collegate alla VM.
Utilizza il seguente comando per verificare la presenza di eventuali dispositivi NVIDIA PCI:
sudo lspci | grep -i "nvidia"
.Verifica che la versione del kernel del driver e la versione del kernel della VM siano le stesse.
- Per controllare la versione del kernel della VM, esegui
uname -r
. - Per controllare la versione del kernel del driver, esegui
sudo apt-cache show linux-modules-nvidia-NVIDIA_DRIVER_VERSION-gcp
.
Se le versioni non corrispondono, riavvia la VM alla nuova versione del kernel.
- Per controllare la versione del kernel della VM, esegui
Windows Server
Connettiti all'istanza di Windows Server e apri un terminale PowerShell, quindi esegui questo comando per verificare che il driver stia funzionando correttamente.
nvidia-smi
L'output è simile al seguente:
+---------------------------------------------------------------------------------------+ | NVIDIA-SMI 537.13 Driver Version: 537.13 CUDA Version: 12.2 | |-----------------------------------------+----------------------+----------------------+ | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+======================+======================| | 0 NVIDIA L4 WDDM | 00000000:00:03.0 Off | 0 | | N/A 66C P8 17W / 72W | 128MiB / 23034MiB | 0% Default | | | | N/A | +-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=======================================================================================| | 0 N/A N/A 4888 C+G ...CBS_cw5n1h2txyewy\TextInputHost.exe N/A | | 0 N/A N/A 5180 C+G ....Search_cw5n1h2txyewy\SearchApp.exe N/A | +---------------------------------------------------------------------------------------+
Che cosa succede dopo?
- Per monitorare le prestazioni della GPU, consulta Monitorare le prestazioni della GPU.
- Per gestire la manutenzione dell'host GPU, vedi Gestire gli eventi di manutenzione dell'host GPU.
- Per migliorare le prestazioni della rete, vedi Utilizzare una larghezza di banda di rete superiore.
- Per risolvere i problemi delle VM GPU, consulta Risolvere i problemi delle VM GPU.