Crea un'istanza Cloud TPU VM utilizzando Compute Engine

Questo documento mostra come creare una singola VM TPU con il comando gcloud compute instances create di Compute Engine. Puoi anche creare un'istanza VM TPU specificando un template di istanza. Per saperne di più, consulta Crea una VM da un template di istanza.

Prerequisiti

Completa i seguenti prerequisiti:

  1. Crea un progetto Google Cloud per le tue TPU come descritto in Configura un progetto Google Cloud per le TPU.

  2. Determina i requisiti della TPU come descritto in Pianifica le risorse Cloud TPU.

Crea un'istanza di VM TPU

I parametri che utilizzi per creare un'istanza VM TPU dipendono dall'opzione di consumo che utilizzi: on demand, spot, con prenotazione o con avvio flessibile. Per saperne di più, consulta Pianifica le risorse TPU.

Crea un'istanza di VM TPU on demand

Per creare un'istanza VM TPU on demand, utilizza il comando gcloud compute instances create:

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"

Sostituisci i seguenti segnaposto:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud .
  • TPU_NAME: un nome per la VM TPU.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio ct6e-standard-8t).
  • IMAGE_FAMILY: la famiglia di immagini sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag --image. Per saperne di più sulle immagini sistema operativo, consulta Immagini sistema operativo.
  • IMAGE_PROJECT: il progetto che contiene l'immagine sistema operativo. Per le immagini TPU, il valore è ubuntu-os-accelerator-images.
  • ZONE: la zona per la VM TPU (ad esempio us-central1-b).

Crea un'istanza di VM spot TPU

Per creare un'istanza di VM spot TPU, utilizza il comando gcloud compute instances create con il 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"

Sostituisci i seguenti segnaposto:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud .
  • TPU_NAME: un nome per la VM TPU.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio ct6e-standard-8t).
  • IMAGE_FAMILY: la famiglia di immagini sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag --image. Per saperne di più sulle immagini sistema operativo, consulta Immagini sistema operativo.
  • IMAGE_PROJECT: il progetto che contiene l'immagine sistema operativo. Per le immagini TPU, il valore è ubuntu-os-accelerator-images.
  • ZONE: la zona per la VM TPU (ad esempio us-central1-b).

Crea un'istanza VM TPU utilizzando una prenotazione

Per creare un'istanza VM TPU utilizzando l'opzione di consumo con prenotazione, utilizza il comando gcloud compute instances create con i flag --reservation-affinity=specific e --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"

Sostituisci i seguenti segnaposto:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud .
  • TPU_NAME: un nome per la VM TPU.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio ct6e-standard-8t).
  • IMAGE_FAMILY: la famiglia di immagini sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag --image. Per saperne di più sulle immagini sistema operativo, consulta Immagini sistema operativo.
  • IMAGE_PROJECT: il progetto che contiene l'immagine sistema operativo. Per le immagini TPU, il valore è ubuntu-os-accelerator-images.
  • ZONE: la zona per la VM TPU (ad esempio us-central1-b).
  • RESERVATION_NAME: il nome della prenotazione specifica da utilizzare. Per tutte le prenotazioni in modalità Capacità, puoi scegliere come target un blocco o un blocco secondario specificando l'URL per prenotare come segue:

    • Specifica un blocco:

      RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
      
    • Specifica un blocco secondario:

      RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
      

Crea una VM TPU Flex-start

Per creare un'istanza VM TPU Flex-start, utilizza il comando gcloud compute instances create con il flag --provisioning-model=FLEX_START:

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"

Sostituisci i seguenti segnaposto:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud .
  • TPU_NAME: un nome per la VM TPU.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio ct6e-standard-8t).
  • IMAGE_FAMILY: la famiglia di immagini sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il flag --image. Per saperne di più sulle immagini sistema operativo, consulta Immagini sistema operativo.
  • IMAGE_PROJECT: il progetto che contiene l'immagine sistema operativo. Per le immagini TPU, il valore è ubuntu-os-accelerator-images.
  • ZONE: la zona per la VM TPU (ad esempio us-central1-b).
  • MAX_RUN_DURATION: la durata massima di esecuzione della VM TPU (ad esempio 6h). Per REST, specifica un numero di secondi (ad esempio 21600 per 6 ore).
  • VALID_DURATION: la durata massima di validità della richiesta. Per REST, specifica questo valore come numero di secondi (ad esempio 3600 per 1 ora).

Per saperne di più sulla creazione di istanze Compute Engine, consulta Crea e avvia un'istanza Compute Engine.

Passaggi successivi