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

Für die Installation der Treiber haben Sie zwei Möglichkeiten:

  • Wenn Sie GPUs für hardwarebeschleunigte 3D-Grafiken wie Remote-Desktop oder Gaming benötigen, lesen Sie den Abschnitt 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 Mindesttreiber für Linux Für Windows empfohlener Treiber
A4X B200 neueste 570 570.133.20
A4 B200 neueste 570 570.124.06
A3 Ultra H200 neueste 570 550.90.076
A3 Mega, High, Edge H100 aktuelles 550 550.90.07
G2 L4 aktuelles 550 550.90.07 538.67
A2 A100 aktuelles 550 550.90.07 538.67
N1 T4, P4, P100 und V100 aktuelles 535 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
    A4X GB200
    A4 B200
    A3 H200, 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 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://storage.googleapis.com/compute-gpu-installation-us/installer/latest/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.

    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 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://storage.googleapis.com/compute-gpu-installation-us/installer/latest/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 Transport Layer Security-Version (TLS) 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 beschreibt die Installation von GPU-Treibern auf Linux-VMs, die Secure Boot verwenden.

GPU-Unterstützung

Die Verfahren in diesem Abschnitt unterstützen alle GPU-Modelle, die in Compute Engine verfügbar sind.

Sie können diese Verfahren nicht verwenden, um Treiber auf Secure Boot-Instanzen zu installieren, an die NVIDIA RTX Virtual Workstations (vWS)-Versionen unserer GPUs angehängt sind.

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

Die Installation des Treibers auf einer Secure Boot-VM unterscheidet sich für Linux-VMs, da für diese VMs alle Kernel-Module eine vertrauenswürdige Zertifikatsignatur benötigen.

Installation

Sie haben folgende Möglichkeiten, Treiber mit vertrauenswürdigen Zertifikaten zu installieren:

  • Erstellen Sie ein vertrauenswürdiges Zertifikat für Ihre Treiber. Wählen Sie für diese Option eine der folgenden Möglichkeiten aus:
    • Automatisierte Methode: Verwenden Sie ein Tool zum Erstellen von Images, um Boot-Images zu erstellen, in denen vertrauenswürdige Zertifikate für Ihre Treiber installiert sind.
    • Manuelle Methode: Generieren Sie Ihr eigenes Zertifikat und verwenden Sie es zum Signieren der Kernelmodule des GPU-Treibers.
  • Verwenden Sie vorab signierte Treiber mit einem vorhandenen vertrauenswürdigen Zertifikat. Diese Methode wird nur unter Ubuntu unterstützt.

Selbstsignierung (automatisiert)

Unterstützte Betriebssysteme:

Diese automatisierte Methode zur Selbstsignierung wurde auf den folgenden Betriebssystemen getestet:

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

Vorgehensweise

So erstellen Sie ein Betriebssystem-Image mit selbst signierten Zertifikaten:

    1. In the Google Cloud console, activate Cloud Shell.

      Activate Cloud Shell

      At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  1. Laden Sie das cuda_installer-Tool herunter. Führen Sie den folgenden Befehl aus, um die neueste Version des Skripts herunterzuladen:

    curl -L https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz --output cuda_installer.pyz
    
  2. Erstellen Sie ein Image, für das Secure Boot aktiviert ist, indem Sie den folgenden Befehl ausführen. Die Erstellung des Images kann bis zu 20 Minuten dauern.

    PROJECT=PROJECT_ID
    ZONE=ZONE
    BASE_IMAGE=BASE_IMAGE_NAME
    SECURE_BOOT_IMAGE=IMAGE_NAME
    
    python3 cuda_installer.pyz build_image \
      --project $PROJECT \
      --vm-zone $ZONE \
      --base-image $BASE_IMAGE $SECURE_BOOT_IMAGE
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: ID des Projekts, in dem das Image erstellt werden soll
    • ZONE: Zone, in der eine temporäre VM erstellt wird. Beispiel: us-west4-a.
    • IMAGE_NAME: Name des Images, das erstellt wird.
    • BASE_IMAGE_NAME: Wählen Sie eine der folgenden Optionen aus:

      • debian-12
      • rhel-8 oder rhel-9
      • rocky-8 oder rocky-9
      • ubuntu-22 oder ubuntu-24

    Sie können auch das Flag --family NAME hinzufügen, um das neue Image einer Image-Familie hinzuzufügen.

    Wenn Sie alle Anpassungsoptionen für das Image sehen möchten, führen Sie python3 cuda_installer.pyz build_image --help aus. Sie können sich auch die Dokumentation für cuda_installer auf GitHub ansehen.

  3. Prüfen Sie das Bild. Führen Sie die folgenden Schritte aus, um zu prüfen, ob für das Image Secure Boot aktiviert ist und ob GPU-Instanzen mit installierten NVIDIA-Treibern erstellt werden können.

    1. Erstellen Sie eine Test-VM-Instanz, um zu prüfen, ob Ihr Image richtig konfiguriert ist und die GPU-Treiber erfolgreich geladen werden. Im folgenden Beispiel wird ein N1-Maschinentyp mit einem einzelnen angehängten NVIDIA T4-Beschleuniger erstellt. Sie können jedoch einen beliebigen unterstützten GPU-Maschinentyp verwenden.

      TEST_INSTANCE_NAME=TEST_INSTANCE_NAME
      ZONE=ZONE
      
      gcloud compute instances create $TEST_INSTANCE_NAME \
       --project=$PROJECT \
       --zone=$ZONE \
       --machine-type=n1-standard-4 \
       --accelerator=count=1,type=nvidia-tesla-t4 \
       --create-disk=auto-delete=yes,boot=yes,device-name=$TEST_INSTANCE_NAME,image=projects/$PROJECT/global/images/$SECURE_BOOT_IMAGE,mode=rw,size=100,type=pd-balanced \
       --shielded-secure-boot \
       --shielded-vtpm \
       --shielded-integrity-monitoring \
       --maintenance-policy=TERMINATE
      

      Ersetzen Sie Folgendes:

      • TEST_INSTANCE_NAME: ein Name für die Test-VM-Instanz.
      • ZONE: eine Zone mit T4-GPUs oder der GPU Ihrer Wahl. Weitere Informationen finden Sie unter GPU-Regionen und ‑Zonen.
    2. Prüfen Sie, ob Secure Boot aktiviert ist. Führen Sie dazu den Befehl mokutil --sb-state auf der Test-VM mit gcloud compute ssh aus.

      gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_INSTANCE_NAME --command "mokutil --sb-state"
      
    3. Prüfen Sie mit dem Befehl nvidia-smi auf der Test-VM über gcloud compute ssh, ob der Treiber installiert ist.

      gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_INSTANCE_NAME --command "nvidia-smi"
      

      Wenn Sie das CUDA-Toolkit installiert haben, können Sie die Installation mit dem Tool cuda_installer so prüfen:

      gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_INSTANCE_NAME --command "python3 cuda_installer.pyz verify_cuda"
      
  4. Bereinigen Nachdem Sie bestätigt haben, dass das benutzerdefinierte Image funktioniert, müssen Sie die VM zur Überprüfung nicht mehr behalten. Führen Sie den folgenden Befehl aus, um die VM zu löschen:

    gcloud compute instances delete --zone=$ZONE --project=$PROJECT $TEST_INSTANCE_NAME
    
  5. Optional: Führen Sie den folgenden Befehl aus, um das erstellte Laufwerk-Image zu löschen:

    gcloud compute images delete --project=$PROJECT $SECURE_BOOT_IMAGE
    

Selbstsignierung (manuell)

Unterstützte Betriebssysteme

Diese manuelle Methode zum Selbstsignieren wurde unter den folgenden Betriebssystemen getestet:

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

Übersicht

So werden die Installation, die Signierung und die Image-Erstellung durchgeführt:

  1. Generieren Sie ein eigenes Zertifikat zum Signieren des Treibers.
  2. Erstellen Sie eine VM, um den GPU-Treiber zu installieren und zu signieren. Sie können zum Erstellen der VM das Betriebssystem Ihrer Wahl verwenden. Beim Erstellen der VM müssen Sie den sicheren Start deaktivieren. Sie müssen der VM keine GPUs zuweisen.
  3. Installieren und signieren Sie den GPU-Treiber und optional das CUDA Toolkit.
  4. Erstellen Sie ein Laufwerk-Image basierend auf dem Computer mit einem selbstsignierten Treiber und fügen Sie Ihr Zertifikat der Liste der vertrauenswürdigen Zertifikate hinzu.
  5. Verwenden Sie das Image, um GPU-VMs mit aktiviertem Secure Boot zu erstellen.

Bilder erstellen

    1. In the Google Cloud console, activate Cloud Shell.

      Activate Cloud Shell

      At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  1. Generieren Sie Ihr eigenes Zertifikat mit OpenSSL. Mit OpenSSL erfolgt die Signierung und Überprüfung für Secure Boot mit den regulären Distinguished Encoding Rules (DER)-codierten X.509-Zertifikaten. Führen Sie den folgenden Befehl aus, um ein neues selbstsigniertes X.509-Zertifikat und eine private RSA-Schlüsseldatei zu generieren.

    openssl req -new -x509 -newkey rsa:2048 -keyout private.key -outform DER -out public.der -noenc -days 36500 -subj "/CN=Graphics Drivers Secure Boot Signing"
    
  2. Erstellen Sie eine VM, um den selbst signierten Treiber zu installieren. Wenn Sie die VM erstellen, müssen Sie keine GPUs anhängen oder Secure Boot aktivieren. Sie können einen Standard-E2-Maschinentyp mit mindestens 40 GB verfügbarem Speicherplatz verwenden, damit die Installation erfolgreich abgeschlossen werden kann.

    INSTANCE_NAME=BUILD_INSTANCE_NAME
    DISK_NAME=IMAGE_NAME
    ZONE=ZONE
    PROJECT=PROJECT_ID
    OS_IMAGE=IMAGE_DETAILS
    
    # Create the build VM
    gcloud compute instances create $INSTANCE_NAME \
     --zone=$ZONE \
     --project=$PROJECT \
     --machine-type=e2-standard-4 \
     --create-disk=auto-delete=yes,boot=yes,name=$DISK_NAME,$OS_IMAGE,mode=rw,size=100,type=pd-balanced \
     --no-shielded-secure-boot
    

    Ersetzen Sie Folgendes:

    • BUILD_INSTANCE_NAME: Name der VM-Instanz, die zum Erstellen des Images verwendet wird.
    • IMAGE_NAME: Name des Laufwerk-Image.
    • ZONE ist die Zone, in der die VM erstellt werden soll.
    • PROJECT_ID: ID des Projekts, das Sie zum Erstellen des neuen Speicherabbilds verwenden möchten.
    • IMAGE_DETAILS: die Image-Familie und das Projekt für das ausgewählte Basis-Betriebssystem-Image:

      • Debian 12: "image-family=debian-12,image-project=debian-cloud"
      • RHEL 8: "image-family=rhel-8,image-project=rhel-cloud"
      • RHEL 9: "image-family=rhel-9,image-project=rhel-cloud"
      • Rocky Linux 8: "image-family=rocky-linux-8,image-project=rocky-linux-cloud"
      • Rocky Linux 9: "image-family=rocky-linux-9,image-project=rocky-linux-cloud"
      • Ubuntu 22: "image-family=ubuntu-2204-lts-amd64,image-project=ubuntu-os-cloud"
      • Ubuntu 24: "image-family=ubuntu-2404-lts-amd64,image-project=ubuntu-os-cloud"
  3. Kopieren Sie die generierte Datei mit dem privaten Schlüssel auf die VM. Um die Treiberdatei zu signieren, muss das neu generierte Schlüsselpaar auf der VM verfügbar sein.

    gcloud compute scp --zone $ZONE --project $PROJECT private.key $INSTANCE_NAME:~/private.key
    gcloud compute scp --zone $ZONE --project $PROJECT public.der $INSTANCE_NAME:~/public.der
    
  4. Installieren und signieren Sie den Treiber. Die Installation und Signierung des Treibers und des CUDA-Toolkits werden vom Installationsskript übernommen, das auch für Installationen ohne Secure Boot verwendet wird. So installieren und signieren Sie den Treiber:

    1. Stellen Sie eine SSH-Verbindung zur VM her:

      gcloud compute ssh --zone $ZONE --project $PROJECT $INSTANCE_NAME
      
    2. Prüfen Sie, ob die privaten und öffentlichen Schlüssel richtig kopiert wurden:

      ls private.key public.der
      
    3. Treiberinstallationsskript herunterladen:

      curl -L https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz --output cuda_installer.pyz
      
    4. Prüfen Sie, ob die Treiberinstallation mit aktivierter Signierung eingerichtet ist. Der Build-Computer wird während der Einrichtung neu gestartet. Nachdem der Build-Computer neu gestartet wurde, stellen Sie mit SSH eine Verbindung zur VM her und führen Sie das Skript noch einmal aus, um die Installation fortzusetzen.

      sudo python3 cuda_installer.pyz install_driver --secure-boot-pub-key=public.der --secure-boot-priv-key=private.key --ignore-no-gpu
      

      Wenn Sie das CUDA-Toolkit gleichzeitig installieren möchten, können Sie dies mit dem folgenden Befehl tun.

      sudo python3 cuda_installer.pyz install_cuda --ignore-no-gpu
      

      Möglicherweise werden einige Fehler- oder Warnmeldungen angezeigt. Diese Ergebnisse sind darauf zurückzuführen, dass keine GPU erkannt wurde, und sind daher zu erwarten. Das System wird nach Abschluss der CUDA Toolkit-Installation neu gestartet. Nach dem Wiederverbinden können Sie mit den nächsten Schritten fortfahren.

    5. Entfernen Sie die Zertifikatsdateien, da sie auf dem temporären Computer nicht mehr benötigt werden. Verwenden Sie für mehr Sicherheit shred anstelle des Befehls rm. Schlüssel sollten nicht im endgültigen Speicherabbild vorhanden sein.

      shred -uz private.key public.der
      
    6. Fahren Sie die VM herunter, damit Sie ihr Laufwerk zum Erstellen des neuen Images verwenden können.

      sudo shutdown now
      
  5. Bereiten Sie das Basis-Laufwerk-Image vor. Wenn Sie ein neues Laufwerk-Image erstellen möchten, mit dem Instanzen mit aktiviertem Secure Boot erstellt werden können, müssen Sie das Image so konfigurieren, dass es Ihrem neu generierten Schlüssel vertraut. Das neue Laufwerk-Image akzeptiert weiterhin die vom Betriebssystem verwendeten Standardzertifikate. Führen Sie die folgenden Schritte aus, um das Basis-Image vorzubereiten.

    1. Laden Sie die Standardzertifikate herunter. Verwenden Sie die folgenden Befehle, um die Zertifikate MicWinProPCA2011_2011-10-19.crt und MicCorUEFCA2011_2011-06-27.crt herunterzuladen:

      curl -L https://storage.googleapis.com/compute-gpu-installation-us/certificates/MicCorUEFCA2011_2011-06-27.crt --output MicCorUEFCA2011_2011-06-27.crt
      curl -L https://storage.googleapis.com/compute-gpu-installation-us/certificates/MicWinProPCA2011_2011-10-19.crt --output MicWinProPCA2011_2011-10-19.crt
      
    2. Zertifikate prüfen:

      cat <<EOF >>check.sha1
      46def63b5ce61cf8ba0de2e6639c1019d0ed14f3  MicCorUEFCA2011_2011-06-27.crt
      580a6f4cc4e4b669b9ebdc1b2b3e087b80d0678d  MicWinProPCA2011_2011-10-19.crt
      EOF
      
      sha1sum -c check.sha1
      
    3. Erstellen Sie ein Image auf der Grundlage des Laufwerks der temporären VM. Sie können --family=IMAGE_FAMILY_NAME als Option hinzufügen, damit das Image als das neueste Image in einer bestimmten Image-Familie festgelegt wird. Das Erstellen des neuen Bildes kann einige Minuten dauern.

      Führen Sie den folgenden Befehl in dem Verzeichnis aus, in dem sich die Datei public.der und die heruntergeladenen Zertifikate befinden.

      SECURE_BOOT_IMAGE=IMAGE_NAME
      
      gcloud compute images create $SECURE_BOOT_IMAGE \
      --source-disk=$DISK_NAME \
      --source-disk-zone=$ZONE \
      --project=$PROJECT  \
      --signature-database-file=MicWinProPCA2011_2011-10-19.crt,MicCorUEFCA2011_2011-06-27.crt,public.der \
      --guest-os-features="UEFI_COMPATIBLE"
      

      Mit dem folgenden Befehl können Sie prüfen, ob der öffentliche Schlüssel Ihres Zertifikats an dieses neue Image angehängt ist:

      gcloud compute images describe --project=$PROJECT $SECURE_BOOT_IMAGE
      
  6. Prüfen Sie das neue Bild. Sie können eine GPU-VM mit dem neuen Laufwerk-Image erstellen. Für diesen Schritt empfehlen wir einen N1-Maschinentyp mit einem einzelnen T4-Beschleuniger, für den Secure Boot aktiviert ist. Das Image unterstützt jedoch auch andere Arten von GPUs und Maschinentypen.

    1. Test-GPU-VM erstellen:

      TEST_GPU_INSTANCE=TEST_GPU_INSTANCE_NAME
      ZONE=ZONE
      
      gcloud compute instances create $TEST_GPU_INSTANCE \
      --project=$PROJECT \
      --zone=$ZONE \
      --machine-type=n1-standard-4 \
      --accelerator=count=1,type=nvidia-tesla-t4 \
      --create-disk=auto-delete=yes,boot=yes,device-name=$TEST_GPU_INSTANCE,image=projects/$PROJECT/global/images/$SECURE_BOOT_IMAGE,mode=rw,size=100,type=pd-balanced \
      --shielded-secure-boot \
      --shielded-vtpm \
      --shielded-integrity-monitoring \
      --maintenance-policy=TERMINATE
      

      Ersetzen Sie Folgendes:

      • TEST_GPU_INSTANCE_NAME: Name der GPU-VM-Instanz
        , die Sie zum Testen des neuen Images erstellen.
      • ZONE: Zone mit T4-GPUs oder anderen GPUs Ihrer Wahl. Weitere Informationen finden Sie unter GPU-Regionen und ‑Zonen.
    2. Prüfen Sie, ob Secure Boot aktiviert ist. Führen Sie dazu den Befehl mokutil --sb-state auf der Test-VM mit gcloud compute ssh aus.

      gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_GPU_INSTANCE --command "mokutil --sb-state"
      
    3. Prüfen Sie, ob der Treiber installiert ist, indem Sie den Befehl nvidia-smi auf der Test-VM mit gcloud compute ssh ausführen.

      gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_GPU_INSTANCE --command "nvidia-smi"
      

      Wenn Sie das CUDA-Toolkit installiert haben, können Sie die Installation mit dem Tool cuda_installer so prüfen:

      gcloud compute ssh --project=$PROJECT --zone=$ZONE $TEST_GPU_INSTANCE --command "python3 cuda_installer.pyz verify_cuda"
      
  7. Bereinigen Nachdem Sie bestätigt haben, dass das neue Image funktioniert, müssen Sie die temporäre VM oder die Prüf-VM nicht mehr behalten. Das von Ihnen erstellte Laufwerk-Image ist in keiner Weise von ihnen abhängig. Sie können sie mit dem folgenden Befehl löschen:

    gcloud compute instances delete --zone=$ZONE --project=$PROJECT $INSTANCE_NAME
    gcloud compute instances delete --zone=$ZONE --project=$PROJECT $TEST_GPU_INSTANCE
    

    Wir raten davon ab, Ihr Secure Boot-Signaturzertifikat unverschlüsselt auf Ihrer Festplatte zu speichern. Wenn Sie die Schlüssel sicher speichern und mit anderen teilen möchten, können Sie Secret Manager verwenden, um Ihre Daten zu schützen.

    Wenn Sie die Dateien auf Ihrer Festplatte nicht mehr benötigen, sollten Sie sie am besten mit dem Tool shred sicher entfernen. Führen Sie dazu diesen Befehl aus:

    # Safely delete the key pair from your system
    shred -uz private.key public.der
    

Vorab signiert (nur Ubuntu)

Diese Anleitung ist nur für Linux-VMs mit Secure Boot verfügbar, die auf 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. Laden Sie das aktuelle Paket herunter.

      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 dem Fehler 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 die Standardaktion aus, um die aktuelle Version beizubehalten, wenn Sie dazu aufgefordert werden.

  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. 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 den folgenden Befehl aus, um die VM-Kernel-Version zu prüfen:

      uname -r
    • Führen Sie den 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