GPU-Treiber installieren


Nachdem Sie eine VM-Instanz (virtuelle Maschine) 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 auf Ihren VM-Instanzen ausreichend freier Speicherplatz vorhanden ist. Sie sollten beim Erstellen der neuen VM mindestens 40 GB für das Bootlaufwerk wählen.

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

  • Wenn Sie GPUs für hardwarebeschleunigte 3D-Grafikkarten wie Remote-Desktop oder Gaming benötigen, lesen Sie den Hilfeartikel Treiber für NVIDIA RTX Virtual 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:

Maschinenserie NVIDIA-GPU-Modell Für Linux empfohlener Treiber Für Windows empfohlener Treiber
A3 H100 550.90.07
G2 L4 550.90.07 538.67
A2 A100 550.90.07 538.67
N1 T4, P4, P100 und V100 535.183.01 538.67

GPU-Treiber mithilfe von NVIDIA-Anleitungen 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 das empfohlene Mindest-Toolkit finden Sie in der folgenden Tabelle. Bevor Sie das Toolkit installieren, müssen Sie die in der Installationsanleitung beschriebenen Installationsschritte ausführen.

    Maschinenserie NVIDIA-GPU-Modell Für Linux empfohlenes CUDA-Toolkit Für Windows empfohlenes CUDA-Toolkit
    A3 H100
    G2 L4
    A2 A100
    N1
    • T4
    • V100
    • P100
    • P4

GPU-Treiber mithilfe eines Installationsskripts auf VMs installieren

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

Linux

Folgen Sie dieser Anleitung, um GPU-Treiber auf einer laufenden VM zu installieren.

Unterstützte Betriebssysteme

Das Linux-Installationsskript wurde unter den folgenden Betriebssystemen getestet:

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

Wenn Sie dieses Script auf anderen Betriebssystemen verwenden, schlägt die Installation möglicherweise fehl. Mit diesem Script können Sie sowohl den NVIDIA-Treiber als auch das CUDA-Toolkit installieren. So installieren Sie die GPU-Treiber und das CUDA-Toolkit:

  1. 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
  2. Prüfen Sie, ob Python 3 unter Ihrem Betriebssystem installiert ist.

  3. Laden Sie das Installationsskript herunter.

    curl -L https://github.com/GoogleCloudPlatform/compute-gpu-installation/releases/download/cuda-installer-v1.1.0/cuda_installer.pyz --output cuda_installer.pyz
  4. Führen Sie das Installationsskript aus.

    sudo python3 cuda_installer.pyz install_driver

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

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

  6. Mit diesem Tool können Sie auch das CUDA-Toolkit installieren. Führen Sie den folgenden Befehl aus, um das CUDA-Toolkit zu installieren:

    sudo python3 cuda_installer.pyz install_cuda

    Die Ausführung dieses Scripts kann mindestens 30 Minuten dauern. Ihre VM wird neu gestartet. Wenn die VM neu gestartet wird, führen Sie das Skript noch einmal aus, um die Installation fortzusetzen.

  7. Prüfen Sie die Installation des CUDA-Toolkits.

    sudo python3 cuda_installer.pyz verify_cuda

Linux (Startskript)

Folgen Sie dieser Anleitung, um GPU-Treiber während des Starts einer VM zu installieren.

Unterstützte Betriebssysteme

Das Linux-Installationsskript wurde unter den folgenden Betriebssystemen getestet:

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

Wenn Sie dieses Script auf anderen Betriebssystemen verwenden, schlägt die Installation möglicherweise fehl. Mit diesem Script können Sie sowohl den NVIDIA-Treiber als auch das CUDA-Toolkit installieren.

Mit dem folgenden Startskript können Sie die Installation des Treibers und des CUDA-Toolkits automatisieren:

#!/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

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 gilt für die Installation von GPU-Treibern auf Linux-VMs, die Secure Boot verwenden.

Wenn Sie eine Windows-VM oder eine Linux-VM ohne Secure Boot verwenden, folgen Sie stattdessen einer der folgenden Anleitungen:

Die Installation des Treibers auf einer Secure Boot-VM unterscheidet sich von der Installation auf Linux-VMs, da bei diesen VMs alle Kernelmodule mit dem vom System als vertrauenswürdig eingestuften Schlüssel signiert werden müssen.

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

So installieren Sie GPU-Treiber auf Ihren Ubuntu-VMs, 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 der package not found error fehlschlägt, fehlt möglicherweise der neueste NVIDIA-Treiber aus dem 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/ /"

      Wählen Sie bei Aufforderung die Standardaktion aus, um die aktuelle Version beizubehalten.

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

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

  • Prüfen Sie, ob der VM GPUs zugeordnet sind. Führen Sie den folgenden Befehl aus, um nach allen NVIDIA-PCI-Geräten zu suchen:

    sudo lspci | grep -i "nvidia"
  • Prüfen Sie, ob die Treiber-Kernel-Version und die VM-Kernel-Version identisch sind.

    • Führen Sie den folgenden Befehl aus, um die VM-Kernel-Version zu überprüfen:

      uname -r
    • Führen Sie folgenden Befehl aus, um die Kernel-Version des Treibers zu prüfen:

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

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

Nächste Schritte