N1-VM mit angehängten GPUs erstellen

In diesem Dokument wird erläutert, wie Sie eine VM mit angehängten GPUs erstellen, die eine N1-Maschinenfamilie verwendet. Sie können die meisten N1-Maschinentypen, mit Ausnahme von 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. Zum Ausführen von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei der Compute Engine authentifizieren:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

      gcloud init

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    2. Set a default region and zone.

    REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

      gcloud init

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Erforderliche Rollen

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

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

Erforderliche Berechtigungen

Folgende Berechtigungen sind zum Erstellen von VMs erforderlich:

  • compute.instances.create für das Projekt
  • Zum Erstellen der VM mit einem benutzerdefinierten Image: compute.images.useReadOnly für das Image
  • Zum Erstellen der VM mit einem Snapshot: compute.snapshots.useReadOnly für den Snapshot
  • Zum Erstellen der VM mit einer Instanzvorlage: compute.instanceTemplates.useReadOnly für die Instanzvorlage
  • Zum Angeben eines Subnetzes für Ihre VM: compute.subnetworks.use für das Projekt oder für das ausgewählte Subnetz
  • Zum Festlegen einer statischen IP-Adresse für die VM: compute.addresses.use für das Projekt
  • Zum Zuweisen einer externen IP-Adresse zur VM, wenn Sie ein VPC-Netzwerk verwenden: compute.subnetworks.useExternalIp für das Projekt oder für das ausgewählte Subnetz
  • Zum Zuweisen eines Legacy-Netzwerks zur VM: compute.networks.use für das Projekt
  • Zum Zuweisen einer externen IP-Adresse zur VM, wenn Sie ein Legacy-Netzwerk verwenden: compute.networks.useExternalIp für das Projekt
  • Zum Festlegen von Metadaten der VM-Instanz für die VM: compute.instances.setMetadata für das Projekt
  • Zum Festlegen von Tags für die VM: compute.instances.setTags für die VM
  • Zum Festlegen von Labels für die VM: compute.instances.setLabels für die VM
  • Zum Festlegen eines Dienstkontos für die VM: compute.instances.setServiceAccount für die VM
  • Zum Erstellen eines neuen Laufwerks für die VM: compute.disks.create für das Projekt
  • Zum Anhängen eines vorhandenen Laufwerks im Lese- oder Lese-/Schreibmodus: compute.disks.use für das Laufwerk
  • Zum Anhängen eines vorhandenen Laufwerks im Lesemodus: compute.disks.useReadOnly für das Laufwerk

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

Übersicht

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 RTX Virtuelle Workstation (vWS) (ehemals NVIDIA GRID):

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

    Für diese virtuellen Workstations wird Ihrer Instanz 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 entweder über dieGoogle Cloud Console, die Google Cloud CLI oder REST erstellen.

Console

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

    Zu „Instanz erstellen“ wechseln

  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. Optional: Wählen Sie in der Liste VM-Bereitstellungsmodell ein Bereitstellungsmodell aus.

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

Wenn Ihre Arbeitslast fehlertolerant ist oder jederzeit gestartet werden kann, sollten Sie ein anderes Bereitstellungsmodell in Betracht ziehen, um Ihre Kosten zu senken. Wenn Sie Ihr Bereitstellungsmodell ändern möchten, fügen Sie dem Befehl das Flag --provisioning-model=<var>PROVISIONING_MODEL</var> hinzu. Weitere Informationen zu den verfügbaren Modellen finden Sie unter Bereitstellungsmodelle für Compute Engine-Instanzen.

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 \
    [--provisioning-model=PROVISIONING_MODEL]

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.

  • PROVISIONING_MODEL: Das Bereitstellungsmodell für die VM. Geben Sie entweder SPOT oder FLEX_START an. Wenn Sie kein Bereitstellungsmodell angeben, wird das Standardmodell verwendet. Dieses Flag ist optional.

  • ACCELERATOR_COUNT: die Anzahl der GPUs, die Sie Ihrer VM hinzufügen 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 RTX Virtuelle Workstation (vWS) (ehemals NVIDIA GRID):

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

        Für diese virtuellen Workstations wird Ihrer Instanz 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

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.

Wenn Sie VMs zu einem reduzierten Preis erstellen möchten, können Sie ein anderes Bereitstellungsmodell angeben, indem Sie das Feld "provisioningModel": "PROVISIONING_MODEL" dem Objekt scheduling in Ihrer Anfrage hinzufügen. Weitere Informationen zu den verfügbaren Modellen finden Sie unter Bereitstellungsmodelle für Compute Engine-Instanzen.

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":
  {
    ["automaticRestart": true],
    "onHostMaintenance": "TERMINATE",
    "provisioningModel": "PROVISIONING_MODEL"
  },
}

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 ausgewählten 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 RTX Virtuelle Workstation (vWS) (ehemals NVIDIA GRID):

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

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

  • PROVISIONING_MODEL: das Bereitstellungsmodell für die VM. Geben Sie entweder SPOT oder FLEX_START an. Wenn Sie kein Bereitstellungsmodell angeben, wird das Standardmodell verwendet. Dieses Attribut ist optional. Weitere Informationen zu Bereitstellungsmodellen finden Sie unter Bereitstellungsmodelle für Compute Engine-Instanzen.

Treiber installieren

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

Nächste Schritte