Installa i driver per GPU

Dopo aver creato un'istanza di una macchina virtuale (VM) con una o più GPU, richiede i driver di dispositivo NVIDIA per consentire alle applicazioni di accedere dispositivo. Assicurati che il disco libero delle istanze della tua macchina virtuale (VM) sia sufficiente spazio. Devi scegliere almeno 40 GB per il disco di avvio durante la creazione la nuova VM.

Per installare i driver, puoi scegliere tra due opzioni:

  • Se hai bisogno di GPU per grafica 3D con accelerazione hardware, come Remote Desktop o giochi, consulta Installa i driver per NVIDIA RTX Virtual Workstations (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

Esistono diversi componenti di driver e runtime che potrebbero essere di cui hai bisogno nel tuo ambiente. Sono inclusi i seguenti componenti:

  • Driver NVIDIA
  • Toolkit CUDA
  • Runtime CUDA

Durante l'installazione di questi componenti, l'utente ha la possibilità di e configurare l'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 più recente del driver NVIDIA, puoi installare una versione precedente di un toolkit CUDA insieme a una 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 scheda documentazione sulla compatibilità con CUDA.

Versioni del driver NVIDIA richieste

Per le GPU NVIDIA in esecuzione su Compute Engine, quanto segue Sono consigliate le versioni del driver NVIDIA.

Serie di macchine Modello GPU Driver Linux consigliato Driver Windows consigliato
A3 NVIDIA H100 550,90,07 N/D
G2 NVIDIA L4 550,90,07 538,67
A2 NVIDIA A100 550,90,07 538,67
N1 T4, P4, P100 e V100 535.183.01 538,67

Installa i driver GPU sulle VM utilizzando le guide NVIDIA

Un modo per installare il driver NVIDIA sulla maggior parte delle VM è installare Toolkit per NVIDIA CUDA.

Per installare il toolkit NVIDIA, completa i seguenti passaggi:

  1. Seleziona uno Toolkit CUDA che supporti il driver minimo di cui hai bisogno.

  2. Connettiti alla VM in cui vuoi installare il driver.

  3. Sulla VM, scarica e installa il toolkit CUDA. Il pacchetto di installazione mentre la guida per il toolkit minimo consigliato è disponibile nella tabella seguente. Prima di installare il toolkit, assicurati di aver completato la preinstallazione procedura indicata nella Guida all'installazione.

    Serie di macchine Modello GPU Toolkit CUDA consigliato per Linux Toolkit CUDA consigliato per Windows
    A3 NVIDIA H100 N/D
    G2 NVIDIA L4
    A2 NVIDIA A100
    N1
    • NVIDIA T4
    • NVIDIA V100
    • NVIDIA P100
    • NVIDIA P4

Installa i driver GPU sulle VM utilizzando lo script di installazione

Per automatizzare il processo di installazione, puoi utilizzare i seguenti script. Per esaminare questi script, consulta le 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 sistemi:

  • 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, il processo di installazione potrebbe non riuscire. Questo script può installare il driver NVIDIA Toolkit CUDA. Per installare Driver GPU e CUDA Toolkit, completa i seguenti passaggi:

  1. Se disponi della versione 2.38.0 o successiva del Ops Agent per raccogliere le metriche GPU sulla VM, devi arrestare l'agente prima di poter installa o esegui l'upgrade dei driver GPU utilizzando questo script di installazione.

    Dopo aver completato l'installazione o l'upgrade del driver GPU, e poi riavviare la VM.

    Per arrestare Ops Agent, esegui questo comando:

    sudo systemctl stop google-cloud-ops-agent
  2. Assicurati che Python 3 sia installato sul tuo sistema operativo.

  3. 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
  4. 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 ed esegui nuovamente lo script per continuare l'installazione.

  5. Verifica l'installazione. Consulta Verifica l'installazione del driver GPU.

  6. Puoi utilizzare questo strumento anche per installare CUDA Toolkit. Per installare CUDA Toolkit, esegui questo comando:

    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.

  7. 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 sistemi:

  • 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, il processo di installazione potrebbe non riuscire. Questo script può installare il driver NVIDIA Toolkit CUDA.

Utilizza il seguente script di avvio per automatizzare il driver e l'installazione del CUDA Toolkit:

#!/bin/bash
if test -f /opt/google/cuda-installer
then
  exit
fi

mkdir -p /opt/google/cuda-installer
cd /opt/google/cuda-installer/ || exit

curl -fSsL -O https://github.com/GoogleCloudPlatform/compute-gpu-installation/releases/download/cuda-installer-v1.1.0/cuda_installer.pyz
python3 cuda_installer.pyz install_cuda

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 driver NVIDIA.
  • Per altri tipi di macchina, lo script installa il driver NVIDIA e CUDA il toolkit.

Apri un terminale PowerShell come amministratore, quindi completa quanto segue passaggi:

  1. Se utilizzi Windows Server 2016, imposta la classe Transport Layer Security (TLS) alla 1.2.

    [Net.ServicePointManager]::SecurityProtocol = 'Tls12'
    
  2. 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
  3. Esegui lo script.

    C:\install_gpu_driver.ps1

    L'esecuzione dello script richiede un po' di tempo. Non vengono forniti prompt di comando durante durante il processo di installazione. Una volta chiuso lo script, il driver viene installato.

    Questo script installa i driver nella seguente posizione predefinita su la tua VM: C:\Program Files\NVIDIA Corporation\.

  4. Verifica l'installazione. Consulta Verifica 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 usa Avvio protetto, consulta invece 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 all'interno del sistema.

Queste istruzioni sono disponibili solo per le VM Linux con Avvio protetto in esecuzione su Sistemi operativi Ubuntu 18.04, 20.04 e 22.04. Supporto per più Linux sono in esecuzione i sistemi operativi.

Per installare i driver GPU sulle VM Ubuntu che utilizzano l'avvio protetto, completa la seguenti passaggi:

  1. Connettiti alla VM in cui vuoi installare il driver.

  2. Aggiornare il repository.

      sudo apt-get update
    
  3. Cerca il pacchetto del modulo NVIDIA kernel più recente o la versione che desiderato. Questo pacchetto contiene i moduli kernel NVIDIA firmati da Ubuntu chiave. Se vuoi trovare una versione precedente, modifica il numero relativo alla 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:

    1. Abilita gli aggiornamenti FIPS di Ubuntu.

      sudo ua enable fips-updates
      
    2. Arresta e riavvia

      sudo shutdown -r now
      
    3. 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 a 455.

  4. 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 funziona con package not found error, lo stato più recente Il driver NVIDIA potrebbe non essere presente nel repository. Riprova il passaggio precedente e selezionare una versione precedente del driver modificando il numero di coda.

  5. Verifica che l'interfaccia NVIDIA che il driver sia installato. Potresti dover riavviare la VM.

  6. 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 che hai utilizzato nel passaggio 3.

  7. Configura APT per utilizzare il repository di pacchetti NVIDIA.

    1. 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 EOL

    2. Installa software-properties-common. Questa informazione è obbligatoria se utilizzano immagini minime di Ubuntu.

       sudo apt install software-properties-common
       

    3. 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
    4. Scarica il pacchetto cuda-keyring.

      wget https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/cuda-keyring_1.0-1_all.deb
    5. Installa il pacchetto cuda-keyring.

      sudo dpkg -i cuda-keyring_1.0-1_all.deb
    6. 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.

  8. Trova la versione del driver CUDA compatibile.

    Lo script seguente determina l'ultima versione 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 simile a 455.32.00-1.

  9. 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}
    

  10. (Facoltativo) Trattieni dkms pacchetti.

    Dopo aver abilitato l'Avvio protetto, tutti i moduli kernel devono essere firmati per caricato. I moduli del kernel creati da dkms non funzionano sulla VM perché non sono firmati correttamente per impostazione predefinita. Questo passaggio è facoltativo, ma può per impedire l'installazione accidentale di altri pacchetti dkms nella per il futuro.

    Per contenere dkms pacchetto, esegui questo comando:

      sudo apt-get remove dkms && sudo apt-mark hold dkms
    
  11. Installare il toolkit e il runtime CUDA.

    Scegli la versione CUDA adatta. Lo script seguente determina l'impostazione Versione CUDA 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 a 11-1.

  12. Installa il pacchetto CUDA.

      sudo apt install cuda-${CUDA_VERSION}
    
  13. 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 visualizza la versione del compilatore CUDA installato.

Verifica l'installazione del driver GPU

Dopo aver completato la procedura di installazione del driver, verifica che sia stato installato e inizializzato correttamente.

Linux

Connettiti all'istanza Linux e usa 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 funziona, verifica quanto segue:

  • Controlla se sono collegate GPU alla VM. Per verificare la presenza di dispositivi NVIDIA PCI, esegui questo comando:

    sudo lspci | grep -i "nvidia"
  • Verifica che la versione del kernel del driver e la versione del kernel della VM siano i valori in modo analogo.

    • Per controllare la versione del kernel della VM, esegui questo comando:

      uname -r
    • Per controllare la versione del kernel del driver, esegui questo comando:

      sudo apt-cache show linux-modules-nvidia-NVIDIA_DRIVER_VERSION-gcp

      Se le versioni non corrispondono, riavvia la VM alla nuova versione del kernel.

Windows Server

Connettiti all'istanza Windows Server e apri un terminale PowerShell, quindi esegui il comando seguente per verificare che il driver stia funzionando 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