Crea un'istanza VM TPU

Questo documento descrive come creare un'istanza di una macchina virtuale (VM) TPU. Una VM TPU è anche chiamata slice TPU a host singolo.

Per creare un gruppo di slice a host singolo, consulta Creare un MIG con slice TPU a host singolo.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Seleziona la scheda relativa alla modalità di utilizzo degli esempi in questa pagina:

    gcloud

    1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  • Imposta una regione e una zona predefinite.
  • REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI.

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella Google Cloud documentazione sull'autenticazione di.

Prerequisiti

Prima di procedere alla creazione di un'istanza TPU, devi eseguire le seguenti operazioni:

  1. Scegli la versione TPU: seleziona la versione TPU adatta al tuo carico di lavoro. Per un elenco delle versioni TPU per tipo di carico di lavoro, consulta Versioni TPU consigliate per tipo di carico di lavoro.

  2. Convalida la disponibilità della TPU nella località preferita: le TPU sono disponibili in regioni specifiche Google Cloud . Per utilizzare una versione TPU, assicurati che sia disponibile nella regione che preferisci. Per un elenco delle località TPU, consulta Disponibilità delle TPU.

  3. Assicurati che il tuo progetto abbia una quota TPU sufficiente: se crei un'istanza TPU con VM on demand o Spot, devi avere una quota TPU sufficiente disponibile nella regione che vuoi utilizzare. La creazione di un'istanza TPU che utilizza una prenotazione TPU non richiede alcuna quota TPU, poiché la quota viene utilizzata al momento della creazione della prenotazione. Per un elenco dei nomi delle quote TPU, consulta Quota TPU e per istruzioni su come visualizzare la quota, consulta Visualizza e gestisci le quote

  4. Scegli un'opzione di consumo TPU: seleziona un'opzione di consumo che si adatti meglio al tuo carico di lavoro, alla sua durata e alle tue esigenze di costo. Per un elenco della disponibilità delle opzioni di consumo per versione TPU, consulta Opzioni di consumo TPU.

Crea un'istanza VM TPU

I parametri utilizzati per creare un'istanza VM TPU dipendono dall'opzione di consumo che utilizzi: on demand, Spot, vincolata alla prenotazione o avvio flessibile. Per saperne di più, consulta Informazioni sui modelli di provisioning delle VM .

Crea un'istanza VM TPU on demand

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

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

Crea un'istanza VM TPU Spot

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

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 Google Cloud progetto.
  • TPU_NAME: un nome per la tua VM TPU.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio ct6e-standard-8t).
  • IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il --image flag. Per saperne di più sulle immagini del sistema operativo, consulta Immagini del sistema operativo.
  • IMAGE_PROJECT: il progetto che contiene l'immagine del sistema operativo. Per le immagini TPU, questo è 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 vincolata alla prenotazione, utilizza il gcloud compute instances create comando 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 Google Cloud progetto.
  • TPU_NAME: un nome per la tua VM TPU.
  • MACHINE_TYPE: il tipo di macchina per la VM TPU (ad esempio ct6e-standard-8t).
  • IMAGE_FAMILY: la famiglia di immagini del sistema operativo per la VM TPU. Se vuoi installare una versione specifica del sistema operativo, utilizza il --image flag. Per saperne di più sulle immagini del sistema operativo, consulta Immagini del sistema operativo.
  • IMAGE_PROJECT: il progetto che contiene l'immagine del sistema operativo. Per le immagini TPU, questo è ubuntu-os-accelerator-images.
  • ZONE: la zona per la VM TPU (ad esempio us-central1-b).
  • RESERVATION_NAME: il nome della prenotazione.

Crea una VM TPU con avvio flessibile

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

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

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

Limitazioni

  • Operazioni del ciclo di vita: non puoi arrestare, avviare, riprendere o sospendere le istanze TPU. Per modificare le configurazioni che richiedono un riavvio o per interrompere l'addebito, devi eliminare le istanze.

  • Aggiorna i dettagli della VM: puoi aggiornare le proprietà che richiedono solo un'azione di aggiornamento (REFRESH). Se una configurazione richiede un riavvio (RESTART), devi ricreare l'istanza.

Passaggi successivi