Installer des pilotes de GPU.


Une fois que vous avez créé une instance de machine virtuelle (VM) avec un ou plusieurs GPU, votre système requiert des pilotes d'appareils NVIDIA pour que vos applications puissent accéder à l'appareil. Assurez-vous que vos instances de machine virtuelle (VM) disposent d'un espace disque disponible suffisant. Vous devez choisir au moins 40 Go pour le disque de démarrage lorsque vous créez la VM.

Deux possibilités s'offrent à vous pour l'installation des pilotes :

  • Si vous avez besoin de GPU pour des graphismes 3D avec accélération matérielle (par exemple, pour un bureau ou du jeu à distance), consultez la page Installer des pilotes pour les postes de travail virtuels (vWS) NVIDIA RTX.

  • Sinon, pour les autres charges de travail, suivez les instructions de ce document pour installer le pilote NVIDIA.

Versions du pilote NVIDIA, de CUDA Toolkit et des environnements d'exécution CUDA

Il existe différents composants de pilotes et d'exécutions avec versions gérées qui peuvent être nécessaires dans votre environnement. En voici quelques-uns :

  • Pilote NVIDIA
  • CUDA Toolkit
  • Environnement d'exécution CUDA

Lors de l'installation de ces composants, vous avez la possibilité de configurer votre environnement en fonction de vos besoins. Par exemple, si vous disposez d'une version antérieure de TensorFlow qui fonctionne mieux avec une version antérieure de CUDA Toolkit, mais que le GPU que vous souhaitez utiliser nécessite une version ultérieure du pilote NVIDIA, vous pouvez associer l'installation d'une version antérieure de CUDA Toolkit à l'installation d'une version ultérieure du pilote NVIDIA.

Cependant, vous devez vous assurer que vos versions de pilote NVIDIA et de CUDA Toolkit sont compatibles. Pour connaître la compatibilité de CUDA Toolkit et du pilote NVIDIA, consultez la documentation de NVIDIA sur la compatibilité avec CUDA.

Versions du pilote NVIDIA requises

Pour les GPU NVIDIA exécutés sur Compute Engine, les versions de pilotes NVIDIA suivantes sont recommandées.

Série de machines Modèle de GPU NVIDIA Pilote recommandé pour Linux Pilote recommandé pour Windows
A3 H100 550.90.07 N/A
G2 L4 550.90.07 538.67
A2 A100 550.90.07 538.67
N1 T4, P4, P100 et V100 535.183.01 538.67

Installer des pilotes de GPU sur des VM à l'aide des guides NVIDIA

Pour installer le pilote NVIDIA sur la plupart des VM, vous pouvez installer le NVIDIA CUDA Toolkit.

Pour installer NVIDIA Toolkit, procédez comme suit :

  1. Sélectionnez un CUDA Toolkit compatible avec le pilote minimal dont vous avez besoin.

  2. Connectez-vous à la VM sur laquelle vous souhaitez installer le pilote.

  3. Sur votre VM, téléchargez et installez CUDA Toolkit. Le package d'installation et le guide du toolkit minimal recommandé sont disponibles dans le tableau suivant. Avant d'installer le toolkit, veillez à suivre les étapes de pré-installation indiquées dans le guide d'installation.

    Série de machines Modèle de GPU NVIDIA CUDA Toolkit recommandé pour Linux CUDA Toolkit recommandé pour Windows
    A3 H100 N/A
    G2 L4
    A2 A100
    N1
    • T4
    • V100
    • P100
    • P4

Installer des pilotes de GPU sur des VM à l'aide d'un script d'installation

Vous pouvez utiliser les scripts suivants pour automatiser le processus d'installation. Pour examiner les scripts, consultez le dépôt GitHub.

Linux

Suivez ces instructions pour installer des pilotes de GPU sur une VM en cours d'exécution.

Systèmes d'exploitation compatibles

Le script d'installation Linux a été testé sur les systèmes d'exploitation suivants :

  • Debian 10, 11 et 12
  • Red Hat Enterprise Linux (RHEL) 8 et 9
  • Rocky Linux 8 et 9
  • Ubuntu 20, 22 et 24

Si vous utilisez ce script sur d'autres systèmes d'exploitation, l'installation échouera. Ce script peut installer le pilote NVIDIA ainsi que CUDA Toolkit. Pour installer les pilotes de GPU et CUDA Toolkit, procédez comme suit:

  1. Si vous disposez de la version 2.38.0 ou ultérieure de l'agent Ops collectant des métriques GPU sur votre VM, vous devez l'arrêter pour pouvoir installer ou mettre à niveau vos pilotes de GPU à l'aide de ce script d'installation.

    Une fois l'installation ou la mise à niveau du pilote de GPU terminée, vous devez redémarrer la VM.

    Pour installer l'agent Ops, exécutez la commande suivante :

    sudo systemctl stop google-cloud-ops-agent
  2. Assurez-vous que Python 3 est installé sur votre système d'exploitation.

  3. Téléchargez le script d'installation.

    curl -L https://github.com/GoogleCloudPlatform/compute-gpu-installation/releases/download/cuda-installer-v1.1.0/cuda_installer.pyz --output cuda_installer.pyz
  4. Exécutez le script d'installation.

    sudo python3 cuda_installer.pyz install_driver

    L'exécution du script peut prendre un certain temps. Il redémarrera votre VM. Si la VM redémarre, exécutez à nouveau le script pour continuer l'installation.

  5. Vérifiez l'installation. Consultez la section Vérifier l'installation du pilote de GPU.

  6. Vous pouvez également utiliser cet outil pour installer le CUDA Toolkit. Pour installer le CUDA Toolkit, exécutez la commande suivante:

    sudo python3 cuda_installer.pyz install_cuda

    L'exécution de ce script peut prendre au moins 30 minutes. Il redémarrera votre VM. Si la VM redémarre, exécutez à nouveau le script pour continuer l'installation.

  7. Vérifiez l'installation de CUDA Toolkit.

    sudo python3 cuda_installer.pyz verify_cuda

Linux (script de démarrage)

Suivez ces instructions pour installer des pilotes de GPU au démarrage d'une VM.

Systèmes d'exploitation compatibles

Le script d'installation Linux a été testé sur les systèmes d'exploitation suivants :

  • Debian 10, 11 et 12
  • Red Hat Enterprise Linux (RHEL) 8 et 9
  • Rocky Linux 8 et 9
  • Ubuntu 20, 22 et 24

Si vous utilisez ce script sur d'autres systèmes d'exploitation, l'installation échouera. Ce script peut installer le pilote NVIDIA ainsi que CUDA Toolkit.

Utilisez le script de démarrage suivant pour automatiser l'installation du pilote et de 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

Ce script d'installation peut être utilisé sur des VM pour lesquelles le démarrage sécurisé est activé.

  • Pour les VM Windows utilisant une série de machines G2, ce script n'installe que le pilote NVIDIA.
  • Pour les autres types de machines, le script installe le pilote NVIDIA et CUDA Toolkit.

Ouvrez un terminal PowerShell en tant qu'administrateur, puis procédez comme suit :

  1. Si vous utilisez Windows Server 2016, définissez la version TLS (Transport Layer Security) sur la version 1.2.

    [Net.ServicePointManager]::SecurityProtocol = 'Tls12'
    
  2. Téléchargez le script.

    Invoke-WebRequest https://github.com/GoogleCloudPlatform/compute-gpu-installation/raw/main/windows/install_gpu_driver.ps1 -OutFile C:\install_gpu_driver.ps1
  3. Exécutez le script.

    C:\install_gpu_driver.ps1

    L'exécution du script peut prendre un certain temps. Aucune invite de commande n'est fournie pendant le processus d'installation. Une fois le script terminé, le pilote est installé.

    Ce script installe les pilotes à l'emplacement par défaut suivant sur votre VM : C:\Program Files\NVIDIA Corporation\.

  4. Vérifiez l'installation. Consultez la section Vérifier l'installation du pilote de GPU.

Installer des pilotes de GPU (VM avec démarrage sécurisé)

Ces instructions concernent l'installation de pilotes de GPU sur des VM Linux qui utilisent le démarrage sécurisé.

Si vous utilisez une VM Windows ou une VM Linux sans démarrage sécurisé, consultez plutôt l'un des jeux d'instructions suivants :

L'installation du pilote sur une VM avec démarrage sécurisé est différente pour les VM Linux, car celles-ci exigent que tous les modules du noyau soient signés par la clé approuvée par le système.

Ces instructions ne sont disponibles que pour les VM Linux avec démarrage sécurisé qui s'exécutent sur des systèmes d'exploitation Ubuntu 18.04, 20.04 et 22.04. D'autres systèmes d'exploitation Linux seront bientôt disponibles.

Pour installer des pilotes de GPU sur vos VM Ubuntu avec démarrage sécurisé, procédez comme suit :

  1. Connectez-vous à la VM sur laquelle vous souhaitez installer le pilote.

  2. Mettez le dépôt à jour.

      sudo apt-get update
    
  3. Recherchez le package de modules de noyau NVIDIA le plus récent, ou bien la version de votre choix. Ce package contient des modules de noyau NVIDIA signés par la clé Ubuntu. Si vous souhaitez rechercher une version antérieure, modifiez le numéro du paramètre de queue pour obtenir une version antérieure. Par exemple, spécifiez tail -n 2.

    Ubuntu PRO et LTS

    Pour Ubuntu PRO et LTS, exécutez la commande suivante :

    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

    Pour Ubuntu PRO FIPS, exécutez les commandes suivantes :

    1. Activez les mises à jour Ubuntu FIPS.

      sudo ua enable fips-updates
      
    2. Arrêtez et redémarrez

      sudo shutdown -r now
      
    3. Obtenez le dernier package.

      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}')
      

    Vous pouvez vérifier la version de pilote choisie en exécutant echo $NVIDIA_DRIVER_VERSION. Il en résulte une chaîne de version telle que 455.

  4. Installez le package des modules de noyau et le pilote NVIDIA correspondant.

      sudo apt install linux-modules-nvidia-${NVIDIA_DRIVER_VERSION}-gcp nvidia-driver-${NVIDIA_DRIVER_VERSION}
    

    Si la commande échoue avec une erreur de type package not found error, il se peut que le dernier pilote NVIDIA soit absent du dépôt. Réessayez l'étape précédente et sélectionnez une version de pilote antérieure en modifiant le numéro de fin.

  5. Vérifiez que le pilote NVIDIA a bien été installé. Vous devrez peut-être redémarrer la VM.

  6. Si vous avez redémarré le système pour vérifier la version de NVIDIA. Après le redémarrage, vous devez réinitialiser la variable NVIDIA_DRIVER_VERSION en exécutant à nouveau la commande que vous avez utilisée à l'étape 3.

  7. Configurez APT pour utiliser le dépôt de packages NVIDIA.

    1. Pour aider APT à choisir la dépendance appropriée, épinglez les dépôts comme suit :

      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. Installez software-properties-common. Cette action est requise si vous utilisez des images Ubuntu Minimal.

       sudo apt install software-properties-common
       

    3. Définissez la version d'Ubuntu.

      Ubuntu 18.04

      Pour Ubuntu 18.04, exécutez la commande suivante :

      export UBUNTU_VERSION=ubuntu1804/x86_64

      Ubuntu 20.04

      Pour Ubuntu 20.04, exécutez la commande suivante :

      export UBUNTU_VERSION=ubuntu2004/x86_64

      Ubuntu 22.04

      Pour Ubuntu 22.04, exécutez la commande suivante :

      export UBUNTU_VERSION=ubuntu2204/x86_64
    4. Téléchargez le package cuda-keyring :

      wget https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/cuda-keyring_1.0-1_all.deb
    5. Installez le package cuda-keyring.

      sudo dpkg -i cuda-keyring_1.0-1_all.deb
    6. Ajoutez le dépôt NVIDIA.

      sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/ /"

      Si vous y êtes invité, sélectionnez l'action par défaut pour conserver votre version actuelle.

  8. Recherchez la version compatible du pilote CUDA.

    Le script suivant détermine la dernière version du pilote CUDA compatible avec le pilote NVIDIA que nous venons d'installer :

      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)
    

    Vous pouvez vérifier la version de pilote CUDA en exécutant la commande echo $CUDA_DRIVER_VERSION. Il en résulte une chaîne de version telle que 455.32.00-1.

  9. Installez les pilotes CUDA en spécifiant la version identifiée à l'étape précédente.

      sudo apt install cuda-drivers-${NVIDIA_DRIVER_VERSION}=${CUDA_DRIVER_VERSION} cuda-drivers=${CUDA_DRIVER_VERSION}
    

  10. Facultatif : Conservez les packages dkms en attente.

    Une fois le démarrage sécurisé activé, tous les modules de noyau doivent être signés pour pouvoir être chargés. Les modules de noyau créés par dkms ne fonctionnent pas sur la VM, car ils ne sont pas correctement signés par défaut. Cette étape est facultative, mais elle peut vous permettre d'éviter l'installation accidentelle d'autres packages dkms par la suite.

    Pour conserver les packages dkms, exécutez la commande suivante :

      sudo apt-get remove dkms && sudo apt-mark hold dkms
    
  11. Installez le CUDA Toolkit et l'environnement d'exécution CUDA.

    Choisissez la version CUDA appropriée. Le script suivant détermine la dernière version de CUDA compatible avec le pilote CUDA que nous venons d'installer :

      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)
    

    Vous pouvez vérifier la version CUDA en exécutant la commande echo $CUDA_VERSION. Il en résulte une chaîne de version telle que 11-1.

  12. Installez le package CUDA.

      sudo apt install cuda-${CUDA_VERSION}
    
  13. Vérifiez l'installation de CUDA.

      sudo nvidia-smi
      /usr/local/cuda/bin/nvcc --version
    

    La première commande renvoie les informations sur le GPU. La deuxième commande affiche la version du compilateur CUDA installée.

Vérifier l'installation du pilote de GPU

Une fois l'installation du pilote effectuée, vérifiez que celui-ci est correctement installé et initialisé.

Linux

Connectez-vous à l'instance Linux et utilisez la commande nvidia-smi pour vérifier que le pilote fonctionne correctement.

sudo nvidia-smi

Le résultat ressemble à ce qui suit :

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                                                             |
+-----------------------------------------------------------------------------------------+

Si cette commande échoue, examinez les éléments suivants :

  • Vérifiez si des GPU sont associés à la VM. Pour rechercher des appareils NVIDIA PCI, exécutez la commande suivante:

    sudo lspci | grep -i "nvidia"
  • Vérifiez que la version du noyau du pilote et celle du noyau de la VM sont identiques.

    • Pour vérifier la version du noyau de la VM, exécutez la commande suivante:

      uname -r
    • Pour vérifier la version du noyau du pilote, exécutez la commande suivante:

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

      Si les versions ne correspondent pas, redémarrez la VM avec la nouvelle version du noyau.

Windows Server

Connectez-vous à l'instance Windows Server, ouvrez un terminal PowerShell, puis exécutez la commande suivante pour vérifier que le pilote fonctionne correctement.

nvidia-smi

Le résultat ressemble à ce qui suit :

+---------------------------------------------------------------------------------------+
| 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      |
+---------------------------------------------------------------------------------------+

Étape suivante