Une fois que vous avez créé une instance 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 (choisissez au moins 30 Go pour le disque de démarrage lorsque vous créez la VM).
Ce document explique comment installer les pilotes propriétaires NVIDIA sur des VM créées avec des images publiques ou des images personnalisées.
Pour installer des pilotes pour le poste de travail virtuel NVIDIA RTX, consultez la section Installer des pilotes pour les postes de travail virtuels NVIDIA RTX.
Avant de commencer
- Si vous souhaitez utiliser les exemples de ligne de commande de ce guide, procédez comme suit :
- Installez la dernière version de Google Cloud CLI ou appliquez la mise à jour correspondante.
- Définissez une région et une zone par défaut.
- Si vous voulez utiliser les exemples d'API de ce guide, configurez l'accès aux API.
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
Les GPU NVIDIA exécutés sur Compute Engine doivent utiliser les versions de pilotes NVIDIA suivantes :
Pour les GPU A100 :
- Linux : 450.80.0 ou version ultérieure
- Windows : 452.77 ou une version ultérieure
Pour les GPU T4, P4, P100 et V100 :
- Linux : 410.79 ou version ultérieure
- Windows : 426.00 ou version ultérieure
Pour les GPU K80 :
- Linux : 410.79 - 470.103.01
- Windows : 426.00 - 472.98
Pour les GPU K80, NVIDIA a annoncé que la branche de pilote R470 serait la dernière version à bénéficier de la compatibilité avec le débogage. Pour consulter cette mise à jour, référez-vous à la matrice d'assistance logicielle NVIDIA.
Installer des pilotes GPU sur des VM
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 :
Sélectionnez un CUDA Toolkit compatible avec le pilote minimal dont vous avez besoin.
Connectez-vous à la VM sur laquelle vous souhaitez installer le pilote.
Sur votre VM, téléchargez et installez CUDA Toolkit. Vous trouverez le guide d'installation de chaque toolkit recommandé dans le tableau suivant. Avant d'installer le toolkit, veillez à suivre la procédure d'installation indiquée dans le guide d'installation.
Type de GPU Version minimale de CUDA Toolkit recommandée Instructions d'installation - NVIDIA A100
- Linux : CUDA Toolkit 11.1
- Windows : CUDA Toolkit 11.2
- Linux : Guide d'installation de CUDA 11.1
- Windows : Guide d'installation de CUDA 11.2
- NVIDIA T4
- NVIDIA V100
- NVIDIA P100
- NVIDIA P4
- NVIDIA K80
- Linux : CUDA Toolkit 10.1 update2
- Windows : CUDA Toolkit 10.1 update2
- Linux : Guide d'installation de CUDA 10.1
- Windows : Guide d'installation de CUDA 10.1
Scripts 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
Systèmes d'exploitation compatibles
Le script d'installation Linux a été testé sur les systèmes d'exploitation suivants :
- CentOS 7 et 8
- Debian 10 et 11
- Red Hat Enterprise Linux (RHEL) 7 et 8
- Rocky Linux 8
- Ubuntu 18 et 21
Si vous utilisez ce script sur d'autres systèmes d'exploitation, l'installation échouera.
Assurez-vous que Python 3 est installé sur votre système d'exploitation.
Téléchargez le script d'installation.
curl https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-installation/main/linux/install_gpu_driver.py --output install_gpu_driver.py
Exécutez le script d'installation.
sudo python3 install_gpu_driver.py
L'exécution du script peut prendre un certain temps. Le script peut également redémarrer votre VM. Si la VM redémarre, exécutez à nouveau le script pour continuer l'installation.
Vérifiez l'installation. Consultez la section Vérifier l'installation du pilote de GPU.
Windows
Ce script d'installation peut être utilisé sur des VM pour lesquelles le démarrage sécurisé est activé.
Ouvrez un terminal PowerShell en tant qu'administrateur, puis procédez comme suit :
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
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".
Vérifiez l'installation. Consultez la section Vérifier l'installation du pilote de GPU.
Installer des pilotes de GPU sur des VM qui utilisent le démarrage sécurisé
Pour les VMS sur lesquelles le démarrage sécurisé est activé, tous les modules de noyau doivent être signés par la clé approuvée par le système.
OS compatibles
- Pour installer des pilotes NVIDIA sur un ordinateur Windows qui utilise le démarrage sécurisé, consultez la section générale Installer des pilotes de GPU sur des VM.
Pour les systèmes d'exploitation Linux, la compatibilité n'est assurée qu'avec les systèmes d'exploitation Ubuntu 18.04 et 20.04. D'autres systèmes d'exploitation seront bientôt disponibles.
Ubuntu 18.04 et 20.04
Connectez-vous à la VM sur laquelle vous souhaitez installer le pilote.
Mettez le dépôt à jour.
sudo apt-get update
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. Exécutez la commande suivante pour afficher les derniers packages :
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}')
Par exemple, indiquez le numéro sur
2
pour obtenir la prochaine version antérieure :NVIDIA_DRIVER_VERSION=$(sudo apt-cache search 'linux-modules-nvidia-[0-9]+-gcp$' | awk '{print $1}' | sort | tail -n 2 | 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 que455
.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 indiquant que le package est introuvable, il se peut que le dernier pilote NVIDIA soit absent du dépôt. Revenez à la dernière étape pour rechercher une version de pilote antérieure.
Vérifiez que le pilote NVIDIA a bien été installé. Vous devrez peut-être redémarrer la VM.
Configurez APT pour utiliser le dépôt de packages NVIDIA.
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 EOLInstallez
software-properties-common
. Cette action est requise si vous utilisez des images Ubuntu Minimal.sudo apt install software-properties-common
Ajoutez le dépôt NVIDIA :
Ubuntu 18.04
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
Ubuntu 20.04
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
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 que455.32.00-1
.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}
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 packagesdkms
par la suite.Pour conserver les packages
dkms
, exécutez la commande suivante :sudo apt-get remove dkms && sudo apt-mark hold dkms
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 que11-1
.Installez le package CUDA :
sudo apt install cuda-${CUDA_VERSION}
Vérifiez l'installation de CUDA :
sudo nvidia-smi
/usr/local/cuda/bin/nvcc --version
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 :
Mon Oct 11 12:51:37 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.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 NVIDIA A100-SXM... Off | 00000000:00:04.0 Off | 0 | | N/A 41C P0 50W / 400W | 0MiB / 40536MiB | 0% Default | | | | Disabled | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | 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 qu'un GPU est installé sur la VM.
Utilisez la commande suivante pour rechercher des appareils NVIDIA PCI :
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
uname -r
. - Pour vérifier la version du noyau du pilote, exécutez la commande
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.
- Pour vérifier la version du noyau de la VM, exécutez la commande
Windows Server
Connectez-vous à l'instance Windows Server, ouvrez un terminal PowerShell en tant qu'administrateur, puis exécutez la commande suivante pour vérifier que le pilote fonctionne correctement.
&"C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe"
Le résultat ressemble à ce qui suit :
Mon Oct 11 12:13:10 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 462.31 Driver Version: 462.31 CUDA Version: 11.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 Tesla T4 WDDM | 00000000:00:04.0 Off | 0 | | N/A 50C P8 18W / 70W | 570MiB / 15360MiB | 2% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 408 C+G Insufficient Permissions N/A | | 0 N/A N/A 3120 C+G ...w5n1h2txyewy\SearchUI.exe N/A | | 0 N/A N/A 4056 C+G Insufficient Permissions N/A | | 0 N/A N/A 4176 C+G ...y\ShellExperienceHost.exe N/A | | 0 N/A N/A 5276 C+G C:\Windows\explorer.exe N/A | | 0 N/A N/A 5540 C+G ...in7x64\steamwebhelper.exe N/A | | 0 N/A N/A 6296 C+G ...y\GalaxyClient Helper.exe N/A | +-----------------------------------------------------------------------------+
Étape suivante
- Pour surveiller les performances du GPU, consultez la section Surveiller les performances des GPU.
- Pour gérer la maintenance de l'hôte GPU, consultez la section Gérer les événements de maintenance de l'hôte GPU.
- Pour optimiser les performances du GPU, consultez la section Optimiser les performances des GPU.