N1-VM mit angehängten GPUs erstellen


In diesem Dokument wird erläutert, wie Sie eine VM mit angehängten GPUs und einer N1-Maschinenfamilie erstellen. Sie können die meisten N1-Maschinentypen außer N1 shared-core verwenden.

Hinweise

  • Weitere erforderliche Schritte wie das Auswählen eines Betriebssystem-Images und das Prüfen von GPU-Kontingenten finden Sie im Dokument Übersicht.
  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.

    Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud-Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init
    2. Legen Sie eine Standardregion und -zone fest.

    REST

    Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

      Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init

Erforderliche Rollen

Um die Berechtigungen zu erhalten, die Sie für die Erstellung von VMs benötigen, bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) für das Projekt zu gewähren. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen von VMs erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Erstellen von VMs erforderlich:

  • compute.instances.create für das Projekt
  • So erstellen Sie die VM mit einem benutzerdefinierten Image: compute.images.useReadOnly für das Image
  • So erstellen Sie die VM mit einem Snapshot: compute.snapshots.useReadOnly für den Snapshot
  • So verwenden Sie eine Instanzvorlage zum Erstellen der VM: compute.instanceTemplates.useReadOnly für die Instanzvorlage
  • So weisen Sie der VM ein Legacy-Netzwerk zu: compute.networks.use für das Projekt
  • So geben Sie eine statische IP-Adresse für die VM an: compute.addresses.use für das Projekt
  • So weisen Sie der VM eine externe IP-Adresse zu, wenn Sie ein Legacy-Netzwerk verwenden: compute.networks.useExternalIp für das Projekt.
  • So geben Sie ein Subnetz für Ihre VM an: compute.subnetworks.use für das Projekt oder für das ausgewählte Subnetz
  • So weisen Sie der VM eine externe IP-Adresse zu, wenn Sie ein VPC-Netzwerk verwenden: compute.subnetworks.useExternalIp für das Projekt oder im ausgewählten Subnetz.
  • So legen Sie VM-Instanzmetadaten für die VM fest: compute.instances.setMetadata für das Projekt
  • Zum Festlegen von Tags für die VM: compute.instances.setTags auf der VM
  • So legen Sie Labels für die VM fest: compute.instances.setLabels für die VM
  • So legen Sie ein Dienstkonto für die VM fest: compute.instances.setServiceAccount für die VM
  • So erstellen Sie ein neues Laufwerk für die VM: compute.disks.create für das Projekt
  • So hängen Sie ein vorhandenes Laufwerk im Lese- oder Lese-/Schreibmodus an: compute.disks.use auf dem Laufwerk
  • So hängen Sie ein vorhandenes Laufwerk im Lesemodus an: compute.disks.useReadOnly auf dem Laufwerk

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Überblick

Die folgenden GPU-Modelle können an VMs angehängt werden, die N1-Maschinenfamilien verwenden.

NVIDIA-GPUs:

  • NVIDIA® T4: nvidia-tesla-t4
  • NVIDIA P4: nvidia-tesla-p4
  • NVIDIA P100: nvidia-tesla-p100
  • NVIDIA V100: nvidia-tesla-v100
  • NVIDIA K80: nvidia-tesla-k80. Siehe NVIDIA K80-EOL.

NVIDIA RTX Virtuelle Workstation (vWS) (ehemals NVIDIA GRID):

  • NVIDIA T4 Virtual Workstation: nvidia-tesla-t4-vws
  • NVIDIA P4 Virtual Workstation: nvidia-tesla-p4-vws
  • NVIDIA P100 Virtual Workstation: nvidia-tesla-p100-vws

    Für diese virtuellen Workstations wird Ihrer VM automatisch eine Lizenz für NVIDIA RTX Virtual Workstation (vWS) hinzugefügt.

VM mit angehängten GPUs erstellen

Sie können eine N1-VM mit angehängten GPUs über die Google Cloud Console, die Google Cloud CLI oder REST erstellen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen“

  2. Geben Sie einen Namen für Ihre VM an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.

  3. Wählen Sie eine Region und Zone aus, in denen GPUs verfügbar sind. Siehe dazu die Liste der verfügbaren GPU-Zonen.

  4. Wählen Sie im Abschnitt Maschinenkonfiguration die Maschinenfamilie GPUs aus und gehen Sie dann so vor:

    1. Wählen Sie in der Liste GPU-Typ eines der auf N1-Maschinen unterstützten GPU-Modelle aus.
    2. Wählen Sie in der Liste Anzahl der GPUs die Anzahl der GPUs aus.
    3. Wenn Ihr GPU-Modell NVIDIA RTX Virtual Workstations (vWS) für Grafikarbeitslasten unterstützt und Sie grafikintensive Arbeitslasten auf dieser VM ausführen möchten, wählen Sie Virtuelle Workstation (NVIDIA GRID) aktivieren

    4. Wählen Sie in der Liste Maschinentyp einen der voreingestellten N1-Maschinentypen aus. Alternativ dazu können Sie auch Einstellungen für einen benutzerdefinierten Maschinentyp festlegen.

  5. Klicken Sie im Abschnitt Bootlaufwerk auf Ändern. Dadurch wird die Seite Konfiguration des Bootlaufwerks geöffnet.

  6. Führen Sie auf der Seite Bootlaufwerkkonfiguration die folgenden Schritte aus:

    1. Wählen Sie auf dem Tab Öffentliche Images ein unterstütztes Compute Engine-Image oder Deep Learning VM Images aus.
    2. Geben Sie eine Bootlaufwerkgröße von mindestens 40 GB an.
    3. Klicken Sie auf Auswählen, um die Bootlaufwerksoptionen zu bestätigen.
  7. Maximieren Sie den Bereich Erweiterte Optionen.

    1. Maximieren Sie den Bereich Verwaltung.
    2. Wählen Sie in der Liste Bei Hostwartung die Option VM-Instanz beenden aus. VMs mit angehängten GPUs können keine Live-Migration ausführen. Siehe GPU-Hostereignisse verarbeiten.
    3. Wählen Sie in der Liste Automatischer Neustart die Option An.
  8. Konfigurieren Sie alle weiteren erforderlichen VM-Einstellungen. Sie können beispielsweise die Einstellungen für die Abrufbarkeit ändern, um Ihre VM als Instanz auf Abruf zu konfigurieren. Dadurch senken Sie die Kosten für die VM und die angehängten GPUs. Weitere Informationen finden Sie unter GPUs auf Instanzen auf Abruf.

  9. Klicken Sie zum Erstellen und Starten der VM auf Erstellen.

gcloud

Verwenden Sie zum Erstellen und Starten einer VM den Befehl gcloud compute instances create mit den folgenden Flags.

--preemptible ist ein optionaler Parameter, der die VM als Instanz auf Abruf konfiguriert. Dadurch senken Sie die Kosten für die VM und die angehängten GPUs. Weitere Informationen finden Sie unter GPUs auf Instanzen auf Abruf.

gcloud compute instances create VM_NAME \
    --machine-type MACHINE_TYPE \
    --zone ZONE \
    --boot-disk-size DISK_SIZE \
    --accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    --image-project IMAGE_PROJECT \
    --maintenance-policy TERMINATE --restart-on-failure \
    [--preemptible]

Ersetzen Sie Folgendes:

  • VM_NAME: Der Name für die neue VM.
  • MACHINE_TYPE: der Maschinentyp, den Sie für Ihre VM ausgewählt haben.
  • ZONE: die Zone für die VM. Diese Zone muss den GPU-Typ unterstützen.
  • DISK_SIZE: die Größe Ihres Bootlaufwerks in GB. Geben Sie eine Bootlaufwerkgröße von mindestens 40 GB an.
  • IMAGE oder IMAGE_FAMILY, die GPUs unterstützt. Wählen Sie eine der folgenden Optionen aus:

    • IMAGE: die erforderliche Version eines öffentlichen Image. Beispiel: --image debian-10-buster-v20200309
    • IMAGE_FAMILY: eine Image-Familie. Dadurch wird die VM aus dem neuesten nicht verworfenen Betriebssystem-Image erstellt. Wenn Sie beispielsweise --image-family debian-10 angeben, legt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Image in der Debian 10-Image-Familie an.

    Sie können auch ein benutzerdefiniertes Image oder Deep Learning VM Images angeben.

  • IMAGE_PROJECT: das Image-Projekt von Compute Engine, zu dem die Image-Familie gehört. Wenn Sie ein benutzerdefiniertes Image oder Deep-Learning-VM-Images verwenden, geben Sie das Projekt an, zu dem diese Images gehören.

  • ACCELERATOR_COUNT ist die Anzahl der GPUs, die Sie an Ihre VM anhängen möchten. Unter GPUs in Compute Engine finden Sie eine Liste der GPU-Limits, basierend auf dem Maschinentyp Ihrer VM.

  • ACCELERATOR_TYPE: das GPU-Modell, das Sie verwenden möchten. Wenn Sie grafikintensive Arbeitslasten auf dieser VM ausführen möchten, verwenden Sie eines der virtuellen Workstation-Modelle.

    Wählen Sie einen der folgenden Werte aus:

    • NVIDIA-GPUs:

      • NVIDIA® T4: nvidia-tesla-t4
      • NVIDIA P4: nvidia-tesla-p4
      • NVIDIA P100: nvidia-tesla-p100
      • NVIDIA V100: nvidia-tesla-v100
      • NVIDIA K80: nvidia-tesla-k80. Siehe NVIDIA K80-EOL.
    • NVIDIA RTX Virtuelle Workstation (vWS) (ehemals NVIDIA GRID):

      • NVIDIA T4 Virtual Workstation: nvidia-tesla-t4-vws
      • NVIDIA P4 Virtual Workstation: nvidia-tesla-p4-vws
      • NVIDIA P100 Virtual Workstation: nvidia-tesla-p100-vws

        Für diese virtuellen Workstations wird Ihrer VM automatisch eine Lizenz für NVIDIA RTX Virtual Workstation (vWS) hinzugefügt.

Beispiel

Sie können zum Beispiel mit folgendem gcloud-Befehl eine Ubuntu 22.04-VM mit einer NVIDIA T4-GPU und 2 vCPUs in der Zone us-east1-d starten.

gcloud compute instances create gpu-instance-1 \
    --machine-type n1-standard-2 \
    --zone us-east1-d \
    --boot-disk-size 40GB \
    --accelerator type=nvidia-tesla-t4,count=1 \
    --image-family ubuntu-2204-lts \
    --image-project ubuntu-os-cloud \
    --maintenance-policy TERMINATE --restart-on-failure

REST

Identifizieren Sie den GPU-Typ, den Sie Ihrer VM hinzufügen möchten. Senden Sie eine GET-Anfrage, um die GPU-Typen aufzulisten, die Ihrem Projekt in einer bestimmten Zone zur Verfügung stehen.

"preemptible": true ist ein optionaler Parameter, der die VM als Instanz auf Abruf konfiguriert. Dadurch senken Sie die Kosten für Ihre VM und die angeschlossenen GPUs. Weitere Informationen finden Sie unter GPUs auf Instanzen auf Abruf.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes

Ersetzen Sie Folgendes:

  • PROJECT_ID: die Projekt-ID.
  • ZONE: die Zone, aus der Sie die verfügbaren GPU-Typen auflisten möchten.

Senden Sie eine POST-Anfrage an die Methode instances.insert. Verwenden Sie den Parameter acceleratorType, um anzugeben, welchen GPU-Typ Sie verwenden möchten, und fügen Sie den Parameter acceleratorCount ein, um anzugeben, wie viele GPUs Sie hinzufügen möchten. Setzen Sie außerdem den Parameter onHostMaintenance auf TERMINATE.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks":
  [
    {
      "type": "PERSISTENT",
      "initializeParams":
      {
        "diskSizeGb": "DISK_SIZE",
        "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "boot": true
    }
  ],
  "name": "VM_NAME",
  "networkInterfaces":
  [
    {
      "network": "projects/PROJECT_ID/global/networks/NETWORK"
    }
  ],
  "guestAccelerators":
  [
    {
      "acceleratorCount": ACCELERATOR_COUNT,
      "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
    }
  ],
  "scheduling":
  {
    "onHostMaintenance": "terminate",
    "automaticRestart": true,
    ["preemptible": true]
  },
}

Ersetzen Sie Folgendes:

  • VM_NAME: der Name der VM.
  • PROJECT_ID: Ihre Projekt-ID.
  • ZONE: die Zone für die VM. Diese Zone muss den GPU-Typ unterstützen.
  • MACHINE_TYPE: der Maschinentyp, den Sie für die VM ausgewählt haben. Unter GPUs in Compute Engine können Sie sehen, welche Maschinentypen basierend auf der von Ihnen gewünschten Anzahl an GPUs verfügbar sind.
  • Für IMAGE oder IMAGE_FAMILY muss eine der folgenden Optionen angegeben werden:

    • IMAGE: die erforderliche Version eines öffentlichen Image. Beispiel: "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
    • IMAGE_FAMILY: eine Image-Familie. Dadurch wird die VM aus dem neuesten nicht verworfenen Betriebssystem-Image erstellt. Wenn Sie beispielsweise "sourceImage": "projects/debian-cloud/global/images/family/debian-10" angeben, legt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in der Debian 10-Image-Familie an.

    Sie können auch ein benutzerdefiniertes Image oder Deep Learning VM Images angeben.

  • IMAGE_PROJECT: das Image-Projekt von Compute Engine, zu dem die Image-Familie gehört. Wenn Sie ein benutzerdefiniertes Image oder Deep Learning VM Images verwenden, geben Sie das Projekt an, zu dem diese Images gehören.

  • DISK_SIZE: die Größe Ihres Bootlaufwerks in GB. Geben Sie eine Bootlaufwerkgröße von mindestens 40 GB an.

  • NETWORK: das VPC-Netzwerk, das Sie für die VM verwenden möchten. Sie können default angeben, um Ihr Standardnetzwerk zu verwenden.

  • ACCELERATOR_COUNT ist die Anzahl der GPUs, die Sie an Ihre VM anhängen möchten. Unter GPUs in Compute Engine finden Sie eine Liste der GPU-Limits, basierend auf dem Maschinentyp Ihrer VM.

  • ACCELERATOR_TYPE: das GPU-Modell, das Sie verwenden möchten. Wenn Sie grafikintensive Arbeitslasten auf dieser VM ausführen möchten, verwenden Sie eines der virtuellen Workstation-Modelle.

    Wählen Sie einen der folgenden Werte aus:

    • NVIDIA-GPUs:

      • NVIDIA® T4: nvidia-tesla-t4
      • NVIDIA P4: nvidia-tesla-p4
      • NVIDIA P100: nvidia-tesla-p100
      • NVIDIA V100: nvidia-tesla-v100
      • NVIDIA K80: nvidia-tesla-k80. Siehe NVIDIA K80-EOL.
    • NVIDIA RTX Virtuelle Workstation (vWS) (ehemals NVIDIA GRID):

      • NVIDIA T4 Virtual Workstation: nvidia-tesla-t4-vws
      • NVIDIA P4 Virtual Workstation: nvidia-tesla-p4-vws
      • NVIDIA P100 Virtual Workstation: nvidia-tesla-p100-vws

        Für diese virtuellen Workstations wird Ihrer VM automatisch eine Lizenz für NVIDIA RTX Virtual Workstation (vWS) hinzugefügt.

Treiber installieren

Wählen Sie eine der folgenden Optionen aus, um die Treiber zu installieren:

Nächste Schritte