Cloud TPU-VM-Instanz mit Compute Engine erstellen

In diesem Dokument wird beschrieben, wie Sie mit dem Compute Engine-Befehl gcloud compute instances create eine einzelne TPU-VM erstellen. Sie können auch eine TPU-VM-Instanz erstellen, indem Sie eine Instanzvorlage angeben. Weitere Informationen finden Sie unter VM aus einer Instanzvorlage erstellen.

Vorbereitung

Erfüllen Sie die folgenden Voraussetzungen:

  1. Erstellen Sie ein Google Cloud -Projekt für Ihre TPUs, wie unter Google Cloud -Projekt für TPUs einrichten beschrieben.

  2. Ermitteln Sie Ihre TPU-Anforderungen, wie unter Cloud TPU-Ressourcen planen beschrieben.

TPU-VM-Instanz erstellen

Die Parameter, die Sie zum Erstellen einer TPU-VM-Instanz verwenden, hängen von der von Ihnen verwendeten Verbrauchsoption ab: On-Demand, Spot, reservierungsgebunden oder Flex-Start. Weitere Informationen finden Sie unter TPU-Ressourcen planen.

On-Demand-TPU-VM-Instanz erstellen

Verwenden Sie den Befehl gcloud compute instances create, um eine On-Demand-TPU-VM-Instanz zu erstellen:

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "scheduling": {
      "onHostMaintenance": "TERMINATE"
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ]
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

Ersetzen Sie die folgenden Platzhalter:

  • PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
  • TPU_NAME: Ein Name für Ihre TPU-VM.
  • MACHINE_TYPE: Der Maschinentyp für die TPU-VM (z. B. ct6e-standard-8t).
  • IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag --image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.
  • IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Für TPU-Images ist dies ubuntu-os-accelerator-images.
  • ZONE: Die Zone für die TPU-VM (z. B. us-central1-b).

TPU-Spot-VM-Instanz erstellen

Verwenden Sie zum Erstellen einer TPU-Spot-VM-Instanz den Befehl gcloud compute instances create mit dem Flag --provisioning-model=SPOT:

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --provisioning-model=SPOT \
  --instance-termination-action=DELETE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "DELETE"
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ]
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

Ersetzen Sie die folgenden Platzhalter:

  • PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
  • TPU_NAME: Ein Name für Ihre TPU-VM.
  • MACHINE_TYPE: Der Maschinentyp für die TPU-VM (z. B. ct6e-standard-8t).
  • IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag --image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.
  • IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Für TPU-Images ist dies ubuntu-os-accelerator-images.
  • ZONE: Die Zone für die TPU-VM (z. B. us-central1-b).

TPU-VM-Instanz mit einer Reservierung erstellen

Wenn Sie eine TPU-VM-Instanz mit der Verbrauchsoption reservation-bound erstellen möchten, verwenden Sie den Befehl gcloud compute instances create mit den Flags --reservation-affinity=specific und --reservation:

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --provisioning-model=reservation-bound \
  --reservation-affinity=specific \
  --reservation=RESERVATION_NAME \
  --instance-termination-action=DELETE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "RESERVATION_BOUND",
      "instanceTerminationAction": "DELETE"
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "SPECIFIC_RESERVATION",
      "key": "compute.googleapis.com/reservation-name",
      "values": [
        "RESERVATION_NAME"
      ]
    }
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

Ersetzen Sie die folgenden Platzhalter:

  • PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
  • TPU_NAME: Ein Name für Ihre TPU-VM.
  • MACHINE_TYPE: Der Maschinentyp für die TPU-VM (z. B. ct6e-standard-8t).
  • IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag --image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.
  • IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Für TPU-Images ist dies ubuntu-os-accelerator-images.
  • ZONE: Die Zone für die TPU-VM (z. B. us-central1-b).
  • RESERVATION_NAME: Der Name der spezifischen Reservierung, die genutzt werden soll. Bei Reservierungen im Modus „Alle Kapazitäten“ können Sie einen Block oder Unterblock als Ziel festlegen, indem Sie die URL für Reservierungen so angeben:

    • Block angeben:

      RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
      
    • Geben Sie einen Unterblock an:

      RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
      

TPU Flex-Start-VM erstellen

Verwenden Sie den Befehl gcloud compute instances create mit dem Flag --provisioning-model=FLEX_START, um eine TPU-VM-Instanz mit Flex-Start zu erstellen:

gcloud

gcloud compute instances create TPU_NAME \
  --machine-type=MACHINE_TYPE \
  --image-family=IMAGE_FAMILY \
  --image-project=IMAGE_PROJECT \
  --zone=ZONE \
  --provisioning-model=FLEX_START \
  --max-run-duration=MAX_RUN_DURATION \
  --request-valid-for-duration=VALID_DURATION \
  --instance-termination-action=DELETE \
  --maintenance-policy=TERMINATE

REST

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "TPU_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        }
      }
    ],
    "params": {
      "requestValidForDuration": {
        "seconds": VALID_DURATION
      }
    },
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "FLEX_START",
      "instanceTerminationAction": "DELETE",
      "maxRunDuration": {
        "seconds": MAX_RUN_DURATION
      }
    },
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ]
  }' \
  "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances"

Ersetzen Sie die folgenden Platzhalter:

  • PROJECT_ID: Die ID Ihres Google Cloud -Projekts.
  • TPU_NAME: Ein Name für Ihre TPU-VM.
  • MACHINE_TYPE: Der Maschinentyp für die TPU-VM (z. B. ct6e-standard-8t).
  • IMAGE_FAMILY: Die Betriebssystem-Image-Familie für die TPU-VM. Wenn Sie eine bestimmte Betriebssystemversion installieren möchten, verwenden Sie das Flag --image. Weitere Informationen zu Betriebssystem-Images finden Sie unter Betriebssystem-Images.
  • IMAGE_PROJECT: Das Projekt, das das Betriebssystem-Image enthält. Für TPU-Images ist dies ubuntu-os-accelerator-images.
  • ZONE: Die Zone für die TPU-VM (z. B. us-central1-b).
  • MAX_RUN_DURATION: Die maximale Ausführungsdauer für die TPU-VM (z. B. 6h). Geben Sie für REST die Dauer in Sekunden an (z. B. 21600 für 6 Stunden).
  • VALID_DURATION: Die maximale Dauer, für die die Anfrage gültig ist. Geben Sie für REST die Anzahl der Sekunden an, z. B. 3600 für 1 Stunde.

Weitere Informationen zum Erstellen von Compute Engine-Instanzen finden Sie unter Compute Engine-Instanz erstellen und starten.

Nächste Schritte