Dopo aver creato un'istanza di macchina virtuale (VM) con una o più GPU, il sistema richiede i driver di dispositivo NVIDIA per consentire alle applicazioni di accedere al dispositivo. Assicurati che le tue istanze di macchine virtuali (VM) dispongano di spazio libero su disco sufficiente. Quando crei la nuova VM, devi scegliere almeno 40 GB per il disco di avvio.
Per installare i driver, hai due opzioni tra cui scegliere:
Se hai bisogno di GPU per la grafica 3D con accelerazione hardware, come il desktop remoto o i giochi, consulta Installare i driver per le workstation virtuali (vWS) NVIDIA RTX.
Per altri carichi di lavoro, segui le istruzioni riportate in questo documento per installare il driver NVIDIA.
Versioni del driver NVIDIA, del toolkit CUDA e del runtime CUDA
Nel tuo ambiente potrebbero essere necessari diversi componenti con versione di driver e runtime. Sono inclusi i seguenti componenti:
- Driver NVIDIA
- CUDA Toolkit
- Runtime CUDA
Quando installi questi componenti, hai la possibilità di configurare il tuo ambiente in base alle tue esigenze. Ad esempio, se hai 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 di NVIDIA sulla compatibilità CUDA.
Versioni dei driver NVIDIA richieste
Per le GPU NVIDIA in esecuzione su Compute Engine, sono consigliate le seguenti versioni dei driver NVIDIA.
Serie di macchine | Modello di GPU NVIDIA | Driver consigliato per Linux | Driver consigliato per Windows |
---|---|---|---|
A3 | H100 | 550.90.07 | N/D |
G2 | L4 | 550.90.07 | 538,67 |
A2 | A100 | 550.90.07 | 538,67 |
N1 | T4, P4, P100 e V100 | 535.183.01 | 538,67 |
Installare i driver GPU sulle VM utilizzando le guide NVIDIA
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 dove vuoi installare il driver.
Nella VM, scarica e installa il toolkit CUDA. Il pacchetto di installazione e la guida per il toolkit minimo consigliato sono disponibili nella tabella seguente. Prima di installare il toolkit, assicurati di completare i passaggi di preinstallazione indicati nella guida all'installazione.
Serie di macchine Modello di GPU NVIDIA Toolkit CUDA consigliato per Linux CUDA Toolkit consigliato per Windows A3 H100 - Link per il download: CUDA Toolkit 12.4 Update 1
- Guida all'installazione: Guida all'installazione di CUDA 12.4
N/D G2 L4 - Link per il download: CUDA Toolkit 12.4 Update 1
- Guida all'installazione: Guida all'installazione di CUDA 12.4
- Link per il download: CUDA Toolkit 12.2 Update 2
- Guida all'installazione: Guida all'installazione di CUDA 12.2
A2 A100 N1 - T4
- V100
- P100
- P4
- Link per il download: CUDA Toolkit 12.2
- Guida all'installazione: Guida all'installazione di CUDA 12.2
- Link per il download: CUDA Toolkit 12.2
- Guida all'installazione: Guida all'installazione di CUDA 12.2
Installa i driver GPU sulle VM utilizzando lo script di installazione
Puoi utilizzare i seguenti script per automatizzare la procedura di installazione. Per esaminare questi script, consulta il repository GitHub.
Linux
Segui 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 toolkit CUDA. Per installare i driver della GPU e CUDA Toolkit:
Se hai la versione 2.38.0 o successive di Ops Agent che raccoglie le metriche della GPU sulla tua VM, devi arrestare l'agente prima di poter installare o eseguire l'upgrade dei driver della GPU utilizzando questo script di installazione.
Dopo aver completato l'installazione o l'upgrade del driver della GPU, devi riavviare la VM.
Per interrompere Ops Agent, esegui il seguente 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 del tempo. La VM verrà 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 utilizzare questo strumento anche per installare il toolkit CUDA. Per installare CUDA Toolkit, esegui il seguente comando:
sudo python3 cuda_installer.pyz install_cuda
L'esecuzione di questo script potrebbe richiedere almeno 30 minuti. La VM verrà riavviata. Se la VM si riavvia, esegui di nuovo lo script per continuare l'installazione.
Verifica l'installazione del toolkit CUDA.
sudo python3 cuda_installer.pyz verify_cuda
Linux (script di avvio)
Segui 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 toolkit CUDA.
Utilizza il seguente script di avvio per automatizzare l'installazione del driver e di CUDA Toolkit:
Windows
Questo script di installazione può essere utilizzato nelle VM in cui è abilitato l'avvio protetto.
- Per le VM Windows che utilizzano una serie di macchine G2, questo script installa solo il driver NVIDIA.
- Per gli altri tipi di macchine, 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 Transport Layer Security (TLS) 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 del tempo. Durante la procedura di installazione non vengono visualizzati prompt di comando. Al termine dello script, il driver viene installato.
Questo script installa i driver nella seguente posizione predefinita sulla VM:
C:\Program Files\NVIDIA Corporation\
.Verifica l'installazione. Consulta Verificare l'installazione del driver GPU.
Installa i driver GPU (VM con avvio protetto)
Queste istruzioni riguardano l'installazione dei driver GPU sulle VM Linux che utilizzano l'avvio protetto.
Se utilizzi una VM Windows o Linux che non utilizza l'avvio protetto, consulta una delle seguenti istruzioni:
L'installazione del driver su una VM con avvio sicuro è diversa per le VM Linux, poiché queste VM richiedono che tutti i moduli del kernel siano firmati dalla chiave considerata attendibile dal sistema.
Queste istruzioni sono disponibili solo per le VM Linux con avvio protetto che funzionano su sistemi operativi Ubuntu 18.04, 20.04 e 22.04. È in corso lo sviluppo del supporto per altri sistemi operativi Linux.
Per installare i driver GPU sulle VM Ubuntu che utilizzano l'avvio protetto, completa i seguenti passaggi:
Connettiti alla VM dove vuoi installare il driver.
Aggiorna il repository.
sudo apt-get update
Cerca il pacchetto del modulo del kernel NVIDIA più recente o la versione che preferisci. Questo pacchetto contiene i moduli del kernel NVIDIA firmati dalla chiave Ubuntu. Se vuoi trovare una versione precedente, modifica il numero del parametro coda per ottenere una versione precedente. Ad esempio, specifica
tail -n 2
.Ubuntu PRO e LTS
Per Ubuntu PRO e LTS, esegui il seguente 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}')
Ubuntu PRO FIPS
Per Ubuntu PRO FIPS, esegui i seguenti comandi:
Attiva gli aggiornamenti FIPS di Ubuntu.
sudo ua enable fips-updates
Arresta e riavvia
sudo shutdown -r now
Scaricare 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 selezionata eseguendo
echo $NVIDIA_DRIVER_VERSION
. L'output è una stringa di versione come455
.Installa il pacchetto del modulo del 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 precedente del driver 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 di NVIDIA. Dopo il riavvio, devi reimpostare la variabile
NVIDIA_DRIVER_VERSION
eseguendo di nuovo il comando utilizzato nel passaggio 3.Configura APT in modo che utilizzi il repository dei 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
. Questo è necessario se utilizzi immagini Ubuntu minimal.sudo apt install software-properties-common
Imposta la versione di Ubuntu.
Ubuntu 18.04
Per Ubuntu 18.04, esegui il seguente comando:
export UBUNTU_VERSION=ubuntu1804/x86_64
Ubuntu 20.04
Per Ubuntu 20.04, esegui il seguente comando:
export UBUNTU_VERSION=ubuntu2004/x86_64
Ubuntu 22.04
Per Ubuntu 22.04, esegui il seguente 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 più recente del driver CUDA compatibile con il driver NVIDIA che abbiamo 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 come455.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) Mantieni in sospeso i pacchetti
dkms
.Dopo aver attivato il Boot sicuro, tutti i moduli del kernel devono essere firmati per essere caricati. I moduli del kernel compilati da
dkms
non funzionano sulla VM perché per impostazione predefinita non sono firmati correttamente. Questo è un passaggio facoltativo, ma può aiutarti a evitare di installare accidentalmente altri pacchettidkms
in futuro.Per bloccare i pacchetti
dkms
, esegui il seguente comando:sudo apt-get remove dkms && sudo apt-mark hold dkms
Installa 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 che abbiamo 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 come11-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 installato.
Verifica l'installazione del driver GPU
Dopo aver completato i passaggi di installazione del driver, verifica che sia stato 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 550.90.07 Driver Version: 550.90.07 CUDA Version: 12.4 | |-----------------------------------------+------------------------+----------------------+ | 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 Tesla T4 On | 00000000:00:04.0 Off | 0 | | N/A 50C P8 16W / 70W | 1MiB / 15360MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+
Se questo comando non va a buon fine, controlla quanto segue:
Verifica se le GPU sono collegate alla VM. Per verificare la presenza di dispositivi PCI NVIDIA, esegui il seguente comando:
sudo lspci | grep -i "nvidia"
Verifica che la versione del kernel del driver e la versione del kernel della VM siano uguali.
Per controllare la versione del kernel della VM, esegui il seguente comando:
uname -r
Per controllare la versione del kernel del driver, esegui il seguente comando:
sudo apt-cache show linux-modules-nvidia-NVIDIA_DRIVER_VERSION-gcp
Se le versioni non corrispondono, riavvia la VM con la nuova versione del kernel.
Windows Server
Connettiti all'istanza Windows Server e apri un terminale PowerShell, quindi esegui il seguente comando per verificare che il driver funzioni correttamente.
nvidia-smi
L'output è simile al seguente:
+---------------------------------------------------------------------------------------+ | NVIDIA-SMI 538.67 Driver Version: 538.67 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 | +---------------------------------------------------------------------------------------+
Passaggi successivi
- Per monitorare le prestazioni della GPU, consulta Monitorare le prestazioni della GPU.
- Per gestire la manutenzione dell'host GPU, consulta Gestire gli eventi di manutenzione dell'host GPU.
- Per migliorare le prestazioni della rete, consulta Utilizzare una larghezza di banda di rete superiore.
- Per risolvere i problemi relativi alle VM GPU, consulta Risolvere i problemi relativi alle VM GPU.