Crea una VM N1 con GPU collegate

Questo documento spiega come creare una VM con GPU collegate e che utilizza un Famiglia di macchine N1. Puoi utilizzare la maggior parte dei tipi di macchina N1, ad eccezione di N1 shared-core.

Prima di iniziare

  • Per rivedere i passaggi dei prerequisiti aggiuntivi, come la selezione di un'immagine del sistema operativo e controllare la quota GPU, esaminare documento di panoramica.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è la procedura di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    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. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. 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, quindi initialize eseguendo questo comando:

        gcloud init

      Per maggiori informazioni, consulta Autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare le VM, chiedi all'amministratore di concederti Ruolo IAM Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare le VM. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per creare le VM sono necessarie le seguenti autorizzazioni:

  • compute.instances.create del progetto
  • Per utilizzare un'immagine personalizzata per creare la VM: compute.images.useReadOnly sull'immagine
  • Per utilizzare uno snapshot per creare la VM: compute.snapshots.useReadOnly sullo snapshot
  • Per utilizzare un modello di istanza per creare la VM: compute.instanceTemplates.useReadOnly sul modello di istanza
  • Per assegnare una rete legacy alla VM: compute.networks.use del progetto
  • Per specificare un indirizzo IP statico per la VM: compute.addresses.use del progetto
  • Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete legacy: compute.networks.useExternalIp del progetto
  • Per specificare una subnet per la tua VM: compute.subnetworks.use del progetto o della subnet scelta
  • Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete VPC: compute.subnetworks.useExternalIp del progetto o della subnet scelta
  • Per impostare i metadati di un'istanza VM per la VM: compute.instances.setMetadata del progetto
  • Per impostare i tag per la VM: compute.instances.setTags sulla VM
  • Per impostare le etichette per la VM: compute.instances.setLabels sulla VM
  • Per impostare un account di servizio da utilizzare per la VM: compute.instances.setServiceAccount sulla VM
  • Per creare un nuovo disco per la VM: compute.disks.create del progetto
  • Per collegare un disco esistente in modalità di sola lettura o lettura/scrittura: compute.disks.use sul disco
  • Per collegare un disco esistente in modalità di sola lettura: compute.disks.useReadOnly sul disco

Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati e altri ruoli predefiniti.

Panoramica

I seguenti modelli di GPU possono essere collegati alle VM che utilizzano famiglie di macchine N1.

GPU NVIDIA:

  • NVIDIA T4: nvidia-tesla-t4
  • NVIDIA P4: nvidia-tesla-p4
  • NVIDIA P100: nvidia-tesla-p100
  • NVIDIA V100: nvidia-tesla-v100

NVIDIA RTX Virtual Workstation (vWS) (precedentemente nota come NVIDIA GRID):

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

    Per queste workstation virtuali, una licenza NVIDIA RTX Virtual Workstation (vWS) viene aggiunto automaticamente alla tua VM.

Crea una VM con GPU collegate

Puoi creare una VM N1 con GPU collegate utilizzando Console Google Cloud, Google Cloud CLI o REST.

Console

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Specifica un nome per la VM. Consulta Convenzione di denominazione delle risorse.

  3. Seleziona una regione e una zona in cui sono disponibili le GPU. Consulta l'elenco delle Zone GPU.

  4. Nella sezione Configurazione macchina, seleziona la macchina GPU. famiglia e poi:

    1. Nell'elenco Tipo di GPU, seleziona uno dei modelli di GPU supportati. Macchine N1.
    2. Nell'elenco Numero di GPU, seleziona il numero di GPU.
    3. Se il tuo modello GPU supporta workstation virtuali NVIDIA RTX (vWS) per carichi di lavoro di grafica e prevedi di eseguire ad alta intensità di grafica su questa VM, seleziona Abilita workstation virtuale (NVIDIA GRID).

    4. Nell'elenco Tipo di macchina, seleziona una delle macchine N1 preimpostate di testo. In alternativa, puoi anche specificare impostazioni relative al tipo di macchina personalizzata.

  5. Nella sezione Disco di avvio, fai clic su Cambia. Viene visualizzata la pagina Configurazione disco di avvio.

  6. Nella pagina Configurazione disco di avvio, segui questi passaggi:

    1. Nella scheda Immagini pubbliche, scegli una immagine Compute Engine supportata o Deep Learning VM Images.
    2. Specifica una dimensione del disco di avvio di almeno 40 GB.
    3. Per confermare le opzioni del disco di avvio, fai clic su Seleziona.
  7. Espandi la sezione Opzioni avanzate.

    1. Espandi la sezione Gestione.
    2. Nell'elenco Host in manutenzione, seleziona Termina istanza VM. Impossibile eseguire la migrazione live delle VM con GPU collegate. Vedi Gestire gli eventi host GPU.
    3. Nell'elenco Riavvio automatico, seleziona On.
  8. Configura tutte le altre impostazioni della VM che hai bisogno. Ad esempio: puoi modificare le impostazioni di Prerilasciabilità per configurare una VM come istanza prerilasciabile. Questo riduce il costo e le GPU collegate. Per ulteriori informazioni, vedi GPU su istanze prerilasciabili

  9. Per creare e avviare la VM, fai clic su Crea.

gcloud

Per creare e avviare una VM, utilizza gcloud compute instances create con i seguenti flag.

Il flag --preemptible è un flag facoltativo che configura il tuo una VM come istanza prerilasciabile. Questo riduce il costo e le GPU collegate. Per ulteriori informazioni, vedi GPU su istanze prerilasciabili

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 --restart-on-failure \
    [--preemptible]

Sostituisci quanto segue:

  • VM_NAME: il valore nome per la nuova VM.
  • MACHINE_TYPE: il tipo di macchina selezionato per la VM.
  • ZONE: la zona per il VM. Questa zona deve supportare Tipo di GPU.
  • DISK_SIZE: le dimensioni del disco di avvio in GB. Specifica una dimensione del disco di avvio di almeno 40 GB.
  • IMAGE o IMAGE_FAMILY che supporta le GPU. Specifica una delle seguenti opzioni:

    • IMAGE: la versione richiesta di un immagine pubblica. Ad esempio, --image debian-10-buster-v20200309.
    • IMAGE_FAMILY: un famiglia di immagini. Questo crea la VM dall'immagine del sistema operativo più recente e non deprecata. Per Ad esempio, se specifichi --image-family debian-10, Compute Engine crea una VM dalla versione più recente dell'immagine sistema operativo nella famiglia di immagini Debian 10.

    Puoi anche specificare un'immagine personalizzata o Deep Learning VM Image.

  • IMAGE_PROJECT: il valore Progetto immagine di Compute Engine a cui appartiene la famiglia di immagini. Se utilizzi un'immagine personalizzata Deep Learning VM Images, specifica il progetto a cui appartengono le immagini.

  • ACCELERATOR_COUNT: il numero di GPU che vuoi aggiungere alla tua VM. Consulta GPU su Compute Engine per un elenco dei limiti di GPU in base al tipo di macchina della VM.

  • ACCELERATOR_TYPE: il valore modello GPU che vuoi utilizzare. Se prevedi di eseguire carichi di lavoro ad alta intensità di grafica su questa VM, usane uno del modelli di workstation virtuali.

    Scegli uno dei seguenti valori:

    • GPU NVIDIA:

      • NVIDIA T4: nvidia-tesla-t4
      • NVIDIA P4: nvidia-tesla-p4
      • NVIDIA P100: nvidia-tesla-p100
      • NVIDIA V100: nvidia-tesla-v100
    • NVIDIA RTX Virtual Workstation (vWS) (precedentemente nota come NVIDIA GRID):

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

        Per queste workstation virtuali, viene eseguita una workstation virtuale NVIDIA RTX (vWS) viene aggiunta automaticamente alla VM.

Esempio

Ad esempio, puoi utilizzare il seguente comando gcloud per avviare un VM Ubuntu 22.04 con 1 GPU NVIDIA T4 e 2 vCPU us-east1-d zona.

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 --restart-on-failure

REST

Identifica il tipo di GPU che vuoi aggiungere alla tua VM. Invia un Una richiesta GET per elencare i tipi di GPU disponibili per il tuo progetto in un una zona specifica.

"preemptible": true è un parametro facoltativo che configura la VM come istanza prerilasciabile. Questo riduce il costo sulla VM e sulle GPU collegate. Per ulteriori informazioni, vedi GPU su istanze prerilasciabili

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes

Sostituisci quanto segue:

  • PROJECT_ID: ID progetto.
  • ZONE: zona da cui elencare i tipi di GPU disponibili.

Invia una richiesta POST al Metodo instances.insert. Includi il parametro acceleratorType per specificare il tipo di GPU che vuoi utilizzare. includi il parametro acceleratorCount per specificare il numero di GPU che vuoi da aggiungere. Imposta anche il parametro onHostMaintenance su 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":
  {
    "onHostMaintenance": "terminate",
    "automaticRestart": true,
    ["preemptible": true]
  },
}

Sostituisci quanto segue:

  • VM_NAME: il valore name della VM.
  • PROJECT_ID: il tuo ID progetto.
  • ZONE: la zona per il VM. Questa zona deve supportare Tipo di GPU.
  • MACHINE_TYPE: il tipo di macchina selezionato per la VM. Consulta GPU su Compute Engine per vedere quali tipi di macchina sono disponibili in base alla GPU che preferisci conteggio.
  • IMAGE o IMAGE_FAMILY: specificare una delle seguenti opzioni:

    • IMAGE: la versione richiesta di un immagine pubblica. Ad esempio: "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
    • IMAGE_FAMILY: un famiglia di immagini. Questo crea la VM dall'immagine del sistema operativo più recente e non deprecata. Per Ad esempio, se specifichi "sourceImage": "projects/debian-cloud/global/images/family/debian-10", Compute Engine crea una VM dalla versione più recente dell'immagine sistema operativo nella famiglia di immagini Debian 10.

    Puoi anche specificare un'immagine personalizzata o Deep Learning VM Image.

  • IMAGE_PROJECT: il valore Progetto immagine di Compute Engine a cui appartiene la famiglia di immagini. Se utilizzi un'immagine personalizzata Deep Learning VM Images, specifica il progetto a cui appartengono le immagini.

  • DISK_SIZE: le dimensioni del disco di avvio in GB. Specifica una dimensione del disco di avvio di almeno 40 GB.

  • NETWORK: la rete VPC che vuoi utilizzare per la VM. Puoi specificare che default utilizzi la rete predefinita.

  • ACCELERATOR_COUNT: il numero di GPU che vuoi aggiungere alla tua VM. Consulta GPU su Compute Engine per un elenco dei limiti di GPU in base al tipo di macchina della VM.

  • ACCELERATOR_TYPE: il valore modello GPU che vuoi utilizzare. Se prevedi di eseguire carichi di lavoro ad alta intensità di grafica su questa VM, usane uno del modelli di workstation virtuali.

    Scegli uno dei seguenti valori:

    • GPU NVIDIA:

      • NVIDIA T4: nvidia-tesla-t4
      • NVIDIA P4: nvidia-tesla-p4
      • NVIDIA P100: nvidia-tesla-p100
      • NVIDIA V100: nvidia-tesla-v100
    • NVIDIA RTX Virtual Workstation (vWS) (precedentemente nota come NVIDIA GRID):

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

        Per queste workstation virtuali, viene eseguita una workstation virtuale NVIDIA RTX (vWS) viene aggiunta automaticamente alla VM.

Installa driver

Per installare i driver, scegli una delle seguenti opzioni:

Passaggi successivi