GPU-Treiber installieren


Nachdem Sie eine VM-Instanz mit einer oder mehreren GPUs erstellt haben, benötigt Ihr System NVIDIA-Gerätetreiber, damit Ihre Anwendungen auf das Gerät zugreifen können. Achten Sie darauf, dass Ihre VM-Instanzen genügend freien Speicherplatz haben. Sie sollten beim Erstellen der neuen VM mindestens 40 GB für das Bootlaufwerk wählen.

Um die Treiber zu installieren, haben Sie zwei Möglichkeiten:

  • Wenn Sie GPUs für hardwarebeschleunigte 3D-Grafiken wie Remote Desktop oder Gaming benötigen, finden Sie weitere Informationen unter Treiber für virtuelle NVIDIA RTX-Workstations (vWS) installieren.

  • Für andere Arbeitslasten sollten Sie der Anleitung in diesem Dokument folgen, um den NVIDIA-Treiber zu installieren.

NVIDIA-Treiber, CUDA-Toolkit und CUDA-Laufzeitversionen

Es gibt verschiedene versionierte Komponenten von Treibern und Laufzeitumgebung, die in Ihrer Umgebung erforderlich sein können. Dazu gehören die folgenden Komponenten:

  • NVIDIA-Treiber
  • CUDA-Toolkit
  • CUDA-Laufzeit

Bei der Installation dieser Komponenten haben Sie die Möglichkeit, Ihre Umgebung entsprechend Ihren Anforderungen zu konfigurieren. Wenn Sie beispielsweise eine frühere Version von Tensorflow haben, die mit einer früheren Version des CUDA-Toolkits am besten funktioniert, aber die verwendete GPU eine spätere Version des NVIDIA-Treibers erfordert, dann Sie können eine frühere Version eines CUDA-Toolkits zusammen mit einer späteren Version des NVIDIA-Treibers installieren.

Die NVIDIA-Treiber- und CUDA-Toolkitversionen müssen jedoch kompatibel sein. Informationen zum CUDA-Toolkit und zur NVIDIA-Treiberkompatibilität finden Sie in der NVIDIA-Dokumentation zur CUDA-Kompatibilität.

Erforderliche NVIDIA-Treiberversionen

Für NVIDIA-GPUs, die auf Compute Engine ausgeführt werden, werden die folgenden NVIDIA-Treiberversionen empfohlen:

GPU-Modell Linux Windows
NVIDIA H100 535.86.10 oder höher
NVIDIA L4 535.86.10 oder höher 536.67
NVIDIA A100, T4, P4, P100 und V100 535.54.03 oder höher 536.25 oder höher
NVIDIA K80 (Ende der Unterstützung) Neueste R470-Version Neueste R470-Version

Für K80-GPUs hat NVIDIA angekündigt, dass der R470-Treiberzweig die letzte Treiberversion ist, um Debugging-Support zu erhalten. Informationen zu dieser Aktualisierung finden Sie in der NVIDIA Software Support Matrix.

GPU-Treiber auf VMs installieren

Eine Möglichkeit zur Installation des NVIDIA-Treibers auf den meisten VMs ist die Installation des NVIDIA CUDA-Toolkits.

Führen Sie die folgenden Schritte aus, um das NVIDIA-Toolkit zu installieren:

  1. Wählen Sie ein CUDA-Toolkit mit dem für den erforderlichen Mindesttreiber aus.

  2. Stellen Sie eine Verbindung zur VM her, auf der Sie den Treiber installieren möchten.

  3. Laden Sie das CUDA-Toolkit auf Ihre VM herunter und installieren Sie es. Das Installationspaket und die Anleitung für ein empfohlenes Toolkit finden Sie in der folgenden Tabelle. Bevor Sie das Toolkit installieren, müssen Sie die in der Installationsanleitung beschriebenen Installationsschritte ausführen.

    GPU-Modell Mindestens empfohlene CUDA-Toolkit-Version Installationsanleitung für die Mindestversion
    • NVIDIA H100
    • NVIDIA L4
    • NVIDIA A100
    • NVIDIA T4
    • NVIDIA V100
    • NVIDIA P100
    • NVIDIA P4

GPU-Treiber mithilfe eines Installationsskripts installieren

Mit den folgenden Skripts können Sie den Installationsvorgang automatisieren. Informationen zu diesen Skripts finden Sie im GitHub-Repository.

Beschränkungen

  • Dieses Script funktioniert nicht auf Linux-VMs, für die Sicherer Start aktiviert ist. Informationen zu Linux-VMs mit aktiviertem Secure Boot finden Sie unter GPU-Treiber installieren (Secure Boot-VMs).
  • Wenn Sie den Ops-Agent haben, der GPU-Messwerte auf Ihrer VM erfasst, Version 2.38.0 oder höher, müssen Sie den Agent beenden, bevor Sie Ihre GPU-Treiber mit diesem Installationsscript installieren oder aktualisieren können.

    Nachdem Sie die Installation oder das Upgrade des GPU-Treibers abgeschlossen haben, müssen Sie die VM neu starten.

    Führen Sie den folgenden Befehl aus, um den Ops-Agent zu beenden:

    sudo systemctl stop google-cloud-ops-agent

Linux

Unterstützte Betriebssysteme

Das Linux-Installationsskript wurde unter den folgenden Betriebssystemen getestet:

  • CentOS 7 and 8
  • Debian 10 and 11
  • Red Hat Enterprise Linux (RHEL) 7, 8 und 9
  • Rocky Linux 8 und 9
  • Ubuntu 20 und 22

Wenn Sie dieses Script auf anderen Betriebssystemen verwenden, schlägt die Installation fehl. Bei Linux-VMs installiert dieses Script nur den NVIDIA-Treiber.

  1. Prüfen Sie, ob Python 3 unter Ihrem Betriebssystem installiert ist.

  2. Laden Sie das Installationsskript herunter.

    curl https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-installation/main/linux/install_gpu_driver.py --output install_gpu_driver.py
  3. Führen Sie das Installationsskript aus.

    sudo python3 install_gpu_driver.py

    Die Ausführung des Skripts dauert einige Zeit. Möglicherweise wird Ihre VM neu gestartet. Wenn die VM neu gestartet wird, führen Sie das Skript noch einmal aus, um die Installation fortzusetzen.

  4. Prüfen Sie die Installation. Weitere Informationen finden Sie unter Installieren des GPU-Treibers prüfen.

Windows

Dieses Installationsskript kann auf VMs verwendet werden, für die Secure Boot aktiviert ist.

  • Bei Windows-VMs, die eine G2-Maschinenserie verwenden, installiert dieses Script nur den NVIDIA-Treiber.
  • Bei anderen Maschinentypen installiert das Script den NVIDIA-Treiber und das CUDA-Toolkit.

Öffnen Sie ein PowerShell-Terminal als Administrator und führen Sie dann die folgenden Schritte aus:

  1. Wenn Sie Windows Server 2016 verwenden, legen Sie die TLS-Version (Transport Layer Security) auf 1.2 fest.

    [Net.ServicePointManager]::SecurityProtocol = 'Tls12'
    
  2. Laden Sie das Skript herunter.

    Invoke-WebRequest https://github.com/GoogleCloudPlatform/compute-gpu-installation/raw/main/windows/install_gpu_driver.ps1 -OutFile C:\install_gpu_driver.ps1
  3. Führen Sie das Skript aus.

    C:\install_gpu_driver.ps1

    Die Ausführung des Skripts dauert einige Zeit. Während der Installation werden keine Eingabeaufforderungen angezeigt. Sobald das Skript beendet ist, wird der Treiber installiert.

    Mit diesem Script werden die Treiber am Standardspeicherort auf Ihrer VM installiert: C:\Program Files\NVIDIA Corporation\.

  4. Prüfen Sie die Installation. Weitere Informationen finden Sie unter Installieren des GPU-Treibers prüfen.

GPU-Treiber installieren (Secure Boot-VMs)

Diese Anleitung bezieht sich auf die Installation von GPU-Treibern auf Linux-VMs, die Secure Boot verwenden.

Wenn Sie eine Windows-VM oder eine Linux-VM verwenden, die kein Secure Boot verwendet, lesen Sie stattdessen eine der folgenden Anleitungen:

Die Installation des Treibers auf einer Secure Boot-VM ist für Linux-VMs unterschiedlich, da bei diesen VMs alle Kernel-Module mit dem vom System als vertrauenswürdig eingestuften Schlüssel signiert werden müssen.

Diese Anleitung ist nur für Secure Boot-Linux-VMs verfügbar, die unter den Betriebssystemen Ubuntu 18.04, 20.04 und 22.04 ausgeführt werden. In Zukunft werden weitere Linux-Betriebssysteme unterstützt.

Führen Sie die folgenden Schritte aus, um GPU-Treiber auf Ihren Ubuntu-VMs zu installieren, die Secure Boot verwenden:

  1. Stellen Sie eine Verbindung zur VM her, auf der Sie den Treiber installieren möchten.

  2. Aktualisieren Sie das Repository.

      sudo apt-get update
    
  3. Suchen Sie nach dem neuesten Paket des NVIDIA-Kernels oder der gewünschten Version. Dieses Paket enthält NVIDIA-Kernel-Module, die vom Ubuntu-Schlüssel signiert wurden. Wenn Sie eine frühere Version suchen, ändern Sie die Zahl für den Parameter „tail”, um eine ältere Version zu erhalten. Geben Sie beispielsweise tail -n 2 an:

    Ubuntu PRO und LTS

    Führen Sie für Ubuntu PRO und LTS den folgenden Befehl aus:

    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

    Führen Sie für Ubuntu PRO FIPS die folgenden Befehle aus:

    1. Ubuntu FIPS-Updates aktivieren

      sudo ua enable fips-updates
      
    2. Herunterfahren und neu starten

      sudo shutdown -r now
      
    3. Holen Sie sich das neueste Paket.

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

    Sie können die ausgewählte Treiberversion mit dem Befehl echo $NVIDIA_DRIVER_VERSION prüfen. Die Ausgabe ist ein Versionsstring wie 455.

  4. Installieren Sie das Kernel-Modulpaket und den entsprechenden NVIDIA-Treiber.

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

    Wenn der Befehl mit package not found error fehlgeschlagen ist, fehlt möglicherweise der neueste NVIDIA-Treiber im Repository. Wiederholen Sie den vorherigen Schritt und wählen Sie eine frühere Treiberversion aus, indem Sie die tail-Zahl ändern.

  5. Überprüfen Sie, ob der NVIDIA-Treiber installiert ist. Möglicherweise müssen Sie die VM neu starten.

  6. Wenn Sie das System neu gestartet haben, um die NVIDIA-Version zu prüfen. Nach dem Neustart müssen Sie die Variable NVIDIA_DRIVER_VERSION zurücksetzen. Führen Sie dazu den Befehl, den Sie in Schritt 3 verwendet haben, noch einmal aus.

  7. Konfigurieren Sie APT für die Verwendung des NVIDIA-Paket-Repositories.

    1. Damit APT bei der Auswahl der richtigen Abhängigkeit hilft, können Sie die Repositories so anpinnen:

      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. Installieren Sie software-properties-common. Dies ist erforderlich, wenn Sie minimale Ubuntu-Images verwenden.

       sudo apt install software-properties-common
       

    3. Legen Sie die Ubuntu-Version fest.

      Ubuntu 18.04

      Führen Sie für Ubuntu 18.04 den folgenden Befehl aus:

      export UBUNTU_VERSION=ubuntu1804/x86_64

      Ubuntu 20.04

      Führen Sie für Ubuntu 20.04 den folgenden Befehl aus:

      export UBUNTU_VERSION=ubuntu2004/x86_64

      Ubuntu 22.04

      Führen Sie für Ubuntu 22.04 den folgenden Befehl aus:

      export UBUNTU_VERSION=ubuntu2204/x86_64
    4. Laden Sie das Paket cuda-keyring herunter:

      wget https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/cuda-keyring_1.0-1_all.deb
    5. Installieren Sie das Paket cuda-keyring:

      sudo dpkg -i cuda-keyring_1.0-1_all.deb
    6. Fügen Sie das NVIDIA-Repository hinzu.

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

      Wenn Sie dazu aufgefordert werden, wählen Sie die Standardaktion zur Beibehaltung der aktuellen Version aus.

  8. Suchen Sie nach der kompatiblen CUDA-Treiberversion.

    Das folgende Skript bestimmt die neueste CUDA-Treiberversion, die mit dem soeben installierten NVIDIA-Treiber kompatibel ist:

      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)
    

    Sie können die CUDA-Treiberversion mit dem Befehl echo $CUDA_DRIVER_VERSION prüfen. Die Ausgabe ist ein Versionsstring wie 455.32.00-1.

  9. Installieren Sie CUDA-Treiber mit der im vorherigen Schritt identifizierten Version.

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

  10. Optional: Setzen Sie dkms-Pakete auf „Hold”.

    Nachdem Sie Secure Boot aktiviert haben, müssen alle Kernel-Module signiert werden, damit sie geladen werden können. Von dkms erstellte Kernel-Module funktionieren auf der VM nicht, da sie standardmäßig nicht ordnungsgemäß signiert sind. Dies ist ein optionaler Schritt. Er kann jedoch verhindern, dass Sie versehentlich andere dkms-Pakete installieren.

    Führen Sie den folgenden Befehl aus, um dkms-Pakete auf „Hold” zu setzen.

      sudo apt-get remove dkms && sudo apt-mark hold dkms
    
  11. Installieren Sie das CUDA-Toolkit und die Laufzeit.

    Wählen Sie die entsprechende CUDA-Version aus. Das folgende Skript bestimmt die neueste CUDA-Version, die mit dem soeben installierten CUDA-Treiber kompatibel ist:

      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)
    

    Sie können die CUDA-Version prüfen, indem Sie echo $CUDA_VERSION ausführen. Die Ausgabe ist ein Versionsstring wie 11-1.

  12. Installieren Sie das CUDA-Paket.

      sudo apt install cuda-${CUDA_VERSION}
    
  13. Prüfen Sie die CUDA-Installation.

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

    Der erste Befehl gibt die GPU-Informationen aus. Der zweite Befehl gibt die installierte CUDA-Compiler-Version aus.

Installation des GPU-Treibers prüfen

Prüfen Sie nach Abschluss der Treiberinstallationsschritte, ob der Treiber ordnungsgemäß installiert und initialisiert wurde.

Linux

Stellen Sie eine Verbindung zur Linux-Instanz her und prüfen Sie mit dem Befehl nvidia-smi, ob der Treiber korrekt ausgeführt wird.

sudo nvidia-smi

Die Ausgabe sieht in etwa so aus:

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

Wenn dieser Befehl fehlschlägt, prüfen Sie Folgendes:

  • Prüfen Sie, ob der VM GPUs zugeordnet ist.

    Suchen Sie mit dem folgenden Befehl nach allen NVIDIA PCI-Geräten:

    sudo lspci | grep -i "nvidia".

  • Prüfen Sie, ob die Treiber-Kernel-Version und die VM-Kernel-Version identisch sind.

    • Führen Sie uname -r aus, um die VM-Kernel-Version zu überprüfen.
    • Führen Sie sudo apt-cache show linux-modules-nvidia-NVIDIA_DRIVER_VERSION-gcp aus, um die Kernel-Version des Treibers zu prüfen.

    Wenn die Versionen nicht übereinstimmen, starten Sie die VM auf der neuen Kernel-Version neu.

Windows Server

Stellen Sie eine Verbindung zur Windows Server-Instanz her. Öffnen Sie ein PowerShell-Terminal und führen Sie den folgenden Befehl aus, um zu prüfen, ob der Treiber ordnungsgemäß ausgeführt wird.

nvidia-smi

Die Ausgabe sieht in etwa so aus:

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

Nächste Schritte