Crea gruppi di VM GPU utilizzando i modelli di istanza

Puoi utilizzare i modelli di istanza per creare gruppi di istanze gestite con GPU aggiunte a ogni istanza. I gruppi di istanze gestite utilizzano il modello per creare più istanze identiche, Puoi scalare il numero di istanze nel gruppo in base al carico di lavoro.

Poiché nelle istanze create devono essere installati il toolkit CUDA e il driver NVIDIA, il processo per creare un modello di istanza per le istanze GPU è il seguente:

  1. Crea un'istanza che ha GPU collegate.
  2. Installa un driver GPU sull'istanza.
  3. Crea un'immagine dal disco collegato all'istanza VM in cui sono installati le GPU e i driver.
  4. Utilizza l'immagine per creare un modello di istanza.
  5. Utilizza il modello per creare un gruppo di istanze

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

    Seleziona la scheda relativa a come intendi utilizzare gli esempi in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Imposta una regione e una zona predefinite.

    Terraform

    Per utilizzare gli esempi Terraform in questa pagina da un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.

    1. Installa Google Cloud CLI.
    2. Per initialize gcloud CLI, esegui questo comando:

      gcloud init
    3. Crea credenziali di autenticazione locali per il tuo Account Google:

      gcloud auth application-default login

    Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

Creazione di un modello di istanza

Puoi creare un modello di istanza globale o regionale. Se vuoi creare un modello di istanza regionale, assicurati di selezionare una regione in cui almeno una zona supporta il modello di GPU desiderato.

Per la procedura di creazione di un modello di istanza, consulta Creazione di modelli di istanza.

Console

Per creare il modello di istanza utilizzando la console, assicurati di apportare le seguenti personalizzazioni:

  • Specifica il tipo di macchina.
  • Specifica il nome e la famiglia dell'immagine personalizzata a cui sono collegati GPU e driver.

Per saperne di più sull'uso di immagini personalizzate, consulta Utilizzo di immagini personalizzate o pubbliche nei modelli di istanza.

gcloud

Per creare il modello di istanza utilizzando gcloud compute instances-templates create, includi i flag --accelerators e --maintenance-policy TERMINATE. Se vuoi creare un modello di istanza regionale, devi utilizzare il flag --instance-template-region per specificare la regione del modello.

L'esempio seguente crea un modello di istanza globale con 2 vCPU, un disco di avvio da 250 GB basato sulla tua immagine (con driver installati) e una GPU NVIDIA T4. Sostituisci my-image e my-project con l'immagine e il nome del progetto dell'immagine a cui sono collegati le GPU e i driver.

gcloud compute instance-templates create gpu-template \
    --machine-type n1-standard-2 \
    --boot-disk-size 250GB \
    --accelerator type=nvidia-tesla-t4,count=1 \
    --image-family my-image \
    --image-project my-project \
    --maintenance-policy TERMINATE \
    --restart-on-failure

Terraform

L'esempio seguente crea un modello di istanza globale con 2 vCPU, un disco di avvio da 250 GB basato su un'immagine (con driver installati) e una GPU NVIDIA T4. Per saperne di più sulla risorsa utilizzata nell'esempio, consulta google_compute_instance_template risorsa.

Per creare un modello di istanza a livello di regione, utilizza la risorsa google_compute_region_instance_template.

resource "google_compute_instance_template" "default" {
  name         = "gpu-template"
  machine_type = "n1-standard-2"

  disk {
    source_image = "debian-cloud/debian-11"
  }

  network_interface {
    network = "default"
  }

  guest_accelerator {
    type  = "nvidia-tesla-t4"
    count = 1
  }

  scheduling {
    on_host_maintenance = "TERMINATE"
  }
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

Creazione di un gruppo di istanze

Dopo aver creato il modello, utilizzalo per creare un gruppo di istanze. Ogni volta che aggiungi un'istanza al gruppo, questa viene avviata utilizzando le impostazioni nel modello di istanza.

Se stai creando un gruppo di istanze gestite a livello di regione, assicurati di selezionare zone che supportano specificamente il modello di GPU che preferisci. Per un elenco dei modelli GPU e delle zone disponibili, consulta GPU su Compute Engine. L'esempio seguente crea un gruppo di istanze gestite a livello di regione in due zone che supportano il modello nvidia-tesla-t4.

gcloud compute instance-groups managed create example-rmig \
    --template gpu-template --base-instance-name example-instances \
    --size 30 --zones us-east1-c,us-east1-d

Che cosa succede dopo?