Crea una VM con GPU collegate


Compute Engine fornisce le unità di elaborazione grafica (GPU) che puoi aggiungere alle tue macchine virtuali (VM). Puoi utilizzare queste GPU per accelerare carichi di lavoro specifici sulle tue VM, ad esempio machine learning ed elaborazione di dati.

In questa pagina viene spiegato come creare una VM con GPU collegate. Se vuoi aggiungere GPU alle VM esistenti, consulta Aggiungere o rimuovere GPU.

Per ulteriori informazioni su cosa puoi fare con le GPU e sui tipi di hardware GPU disponibili, leggi le piattaforme GPU.

Prima di iniziare

  • Se vuoi utilizzare gli esempi a riga di comando in questa guida:
    1. Installa o aggiorna l'ultima versione di Google Cloud CLI.
    2. Imposta una regione e una zona predefinite.
  • Se vuoi utilizzare gli esempi di API in questa guida, configura l'accesso API.
  • Scopri di più sui prezzi delle GPU in Compute Engine per comprendere il costo di utilizzo delle GPU nelle VM.
  • Scopri di più sulle limitazioni per le VM con GPU.
  • Controlla la tua quota GPU.
  • Scegli un'immagine del sistema operativo:
    • Se usi le GPU per il machine learning, puoi usare un'immagine VM di deep learning per la tua VM. Le immagini Deep Learning VM hanno i driver GPU preinstallati e includono pacchetti come TensorFlow e PyTorch. Puoi anche utilizzare le immagini di Deep Learning VM per i carichi di lavoro GPU generali. Per informazioni sulle immagini disponibili e sui pacchetti installati nelle immagini, consulta la sezione Scegliere un'immagine.
    • Puoi anche utilizzare qualsiasi immagine pubblica o immagine personalizzata, ma alcune immagini potrebbero richiedere un driver o una procedura di installazione univoci non trattati in questo documento. Devi identificare i driver appropriati per le tue immagini. Per la procedura di installazione dei driver, consulta la sezione Installare driver GPU.

Verifica della quota GPU

Per proteggere i sistemi e gli utenti di Compute Engine, i nuovi progetti hanno una quota GPU globale, che limita il numero totale di GPU che puoi creare in qualsiasi zona supportata.

Utilizza il comando regions describe per assicurarti di avere una quota GPU sufficiente nella regione in cui vuoi creare VM con GPU.

gcloud compute regions describe REGION

Sostituisci REGION con l'area geografica per cui vuoi controllare la quota GPU.

Se hai bisogno di una quota GPU aggiuntiva, richiedi un aumento della quota. Quando richiedi una quota GPU, devi richiedere una quota per i tipi di GPU che vuoi creare in ciascuna area geografica e una quota globale aggiuntiva per il numero totale di GPU di tutti i tipi in tutte le zone.

Se il tuo progetto ha una cronologia di fatturazione consolidata, riceverà la quota automaticamente dopo che avrai inviato la richiesta.

Limitazioni

Le seguenti limitazioni si applicano alle VM Windows con GPU collegate (A100):

  • Tipi di macchine di a2-megagpu-16g non supportati sul sistema operativo Windows. Quando utilizzi i sistemi operativi Windows, scegli un tipo di macchina diverso. Per un elenco dei tipi di macchina, vedi GPU NVIDIA® A100.
  • Per le VM Windows che utilizzano tipi di macchine A2, non puoi eseguire un formato rapido degli SSD locali collegati. Per formattare queste unità SSD locali, devi utilizzare un formato completo utilizzando l'utilità discpart e specificando format fs=ntfs label=tmpfs.

Creare VM con GPU collegate

Per creare una VM con GPU collegate:

  1. Creare la VM. Il metodo utilizzato per creare una VM dipende dal modello GPU.

  2. Affinché la VM possa utilizzare la GPU, devi installare il driver della GPU sulla tua VM.

  3. Se hai abilitato una workstation virtuale NVIDIA RTX(precedentemente nota come NVIDIA GRID), installa un driver per la workstation virtuale.

Crea una VM con GPU collegate (GPU A100)

Questa sezione illustra come creare VM con GPU NVIDIA A100 collegate. Per altri tipi di GPU, consulta la pagina Creare una VM con GPU collegate (altri tipi di GPU).

Se stai creando una VM Windows con GPU, consulta le limitazioni in questo documento.

Console

  1. In Google Cloud Console, vai alla pagina Crea un'istanza.

    Vai a Creare un'istanza

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

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

  4. Nella sezione Configurazione macchina, seleziona la famiglia di macchine GPU, quindi procedi come segue:

    1. Nell'elenco Tipo di GPU, seleziona NVIDIA A100 80 GB o NVIDIA A100 40 GB. La serie del tipo di macchina è impostata in base al tipo di GPU.

      Quando selezioni una delle opzioni della GPU A100, la Serie del tipo di macchina viene impostata su A2 e il Tipo di macchina viene impostato su un Tipo di macchina A2.

    2. Nell'elenco Numero di GPU, seleziona il numero di GPU.

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

  6. Nella pagina Configurazione disco di avvio, procedi nel seguente modo:

    1. Nella scheda Immagini pubbliche, scegli un'immagine Compute Engine supportata o un'immagine VM di deep learning.
    2. Specifica una dimensione del disco di avvio di almeno 40 GB.
    3. Per confermare le opzioni del disco di avvio, fai clic su Salva.
  7. Configura eventuali altre impostazioni delle VM richieste. Ad esempio, puoi modificare le impostazioni di prerilasciabilità per configurare la VM come istanza prerilasciabile. Questo riduce il costo della VM e delle GPU associate. Per ulteriori informazioni, consulta la pagina relativa alle GPU sulle istanze prerilasciabili.

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

gcloud

Per creare e avviare una VM, utilizza il comando gcloud compute instances create con i flag seguenti. Impossibile eseguire la migrazione live delle VM con GPU. Assicurati di impostare il flag --maintenance-policy TERMINATE.

--preemptible è un flag facoltativo che configura la VM come istanza prerilasciabile. In questo modo ridurrai il costo della tua VM e delle GPU associate. Per ulteriori informazioni, consulta la pagina relativa alle GPU sulle istanze prerilasciabili.

gcloud compute instances create VM_NAME \
    --machine-type MACHINE_TYPE \
    --zone ZONE \
    --boot-disk-size DISK_SIZE \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    --image-project IMAGE_PROJECT \
    --maintenance-policy TERMINATE --restart-on-failure \
    [--preemptible]

Sostituisci quanto segue:

  • VM_NAME: il nome della nuova VM.
  • MACHINE_TYPE: il tipo di macchina A2 selezionato per la VM.
  • ZONE: la zona per la VM. Questa zona deve supportare le GPU A100.
  • 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: una famiglia di immagini. In questo modo viene creata la VM dall'immagine del sistema operativo più recente e non dichiarata. Ad esempio, se specifichi --image-family debian-10, Compute Engine crea una VM dall'ultima versione dell'immagine del sistema operativo nella famiglia di immagini Debian 10.

    Puoi anche specificare un'immagine personalizzata o un'immagine VM di deep learning.

  • IMAGE_PROJECT: il progetto immagine Compute Engine a cui appartiene la famiglia di immagini. Se usi un'immagine personalizzata o un'immagine VM di deep learning, specifica il progetto a cui appartengono queste immagini.

API

Nell'API, crea una richiesta POST al metodo instances.insert. Impossibile eseguire la migrazione live delle VM con GPU. Assicurati di impostare il parametro onHostMaintenance su TERMINATE.

"preemptible": true è un parametro facoltativo che configura la tua VM come istanza prerilasciabile. In questo modo ridurrai il costo della VM e delle GPU associate. Per ulteriori informazioni, consulta la pagina relativa alle GPU sulle istanze prerilasciabili.

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"
    }
  ],
  "scheduling":
  {
    "onHostMaintenance": "terminate",
    "automaticRestart": true,
    ["preemptible": true]
  },
}

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.
  • PROJECT_ID: ID del progetto.
  • ZONE: la zona per la VM. Questa zona deve supportare le GPU A100.
  • MACHINE_TYPE: un tipo di macchina A2 che hai selezionato per la VM.
  • IMAGE o IMAGE_FAMILY: specifica 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: una famiglia di immagini. In questo modo viene creata la VM dall'immagine del sistema operativo più recente e non dichiarata. Ad esempio, se specifichi "sourceImage": "projects/debian-cloud/global/images/family/debian-10", Compute Engine crea una VM dall'ultima versione dell'immagine del sistema operativo nella famiglia di immagini Debian 10.

    Puoi anche specificare un'immagine personalizzata o un'immagine VM di deep learning.

  • IMAGE_PROJECT: il progetto immagine Compute Engine a cui appartiene la famiglia di immagini. Se usi un'immagine personalizzata o un'immagine Deep Learning VM, specifica il progetto a cui appartengono queste 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 da utilizzare per la VM. Puoi specificare default per utilizzare la rete predefinita.

Passaggio successivo: installa il driver della GPU sulla VM, in modo che il sistema possa utilizzare il dispositivo. Per le GPU A100 è richiesto CUDA 11.

Esempi (GPU A100)

In questi esempi, le VM vengono create con GPU NVIDIA A100 collegate utilizzando Google Cloud CLI. Per creare queste VM, puoi anche utilizzare sia la console Google Cloud sia l'API Compute Engine.

I seguenti esempi mostrano come creare VM utilizzando le seguenti immagini:

Immagine DLVM

Usare le immagini DLVM è il modo più semplice per iniziare perché queste immagini dispongono già dei driver NVIDIA e delle librerie CUDA preinstallate.

Queste immagini offrono anche ottimizzazioni del rendimento.

Le seguenti immagini DLVM sono supportate per NVIDIA A100:

  • common-cu110: driver NVIDIA e CUDA preinstallati
  • tf-ent-1-15-cu110: driver NVIDIA, CUDA, TensorFlow Enterprise 1.15.3 preinstallato
  • tf2-ent-2-1-cu110: driver NVIDIA, CUDA, TensorFlow Enterprise 2.1.1 preinstallato
  • tf2-ent-2-3-cu110: driver NVIDIA, CUDA, TensorFlow Enterprise 2.3.1 preinstallato
  • pytorch-1-6-cu110: driver NVIDIA, CUDA, Pytorch 1.6

Per saperne di più sulle immagini DLVM disponibili e sui pacchetti installati nelle immagini, consulta la documentazione della VM di deep learning.

  1. Crea una VM utilizzando l'immagine tf2-ent-2-3-cu110 e il tipo di macchina a2-highgpu-1g. In questo esempio vengono specificati flag facoltativi come dimensione del disco di avvio e ambito.

    gcloud compute instances create VM_NAME \
       --project PROJECT_ID \
       --zone us-central1-c \
       --machine-type a2-highgpu-1g \
       --maintenance-policy TERMINATE --restart-on-failure \
       --image-family tf2-ent-2-3-cu110 \
       --image-project deeplearning-platform-release \
       --boot-disk-size 200GB \
       --metadata "install-nvidia-driver=True,proxy-mode=project_editors" \
       --scopes https://www.googleapis.com/auth/cloud-platform
    

    Sostituisci quanto segue:

    • VM_NAME: il nome della tua VM
    • PROJECT_ID : il tuo ID progetto.
  2. Il comando di esempio precedente genera anche un'istanza di blocchi note gestiti dall'utente di Vertex AI Workbench per la VM. Per accedere al blocco note, in Google Cloud Console, vai alla pagina Vertex AI Workbench > Blocchi note gestiti dall'utente.

    Vai alla pagina Blocchi note gestiti dall'utente

Immagine pubblica o personalizzata

Puoi creare VM con GPU collegate che utilizzano un'immagine pubblica disponibile su Compute Engine o un'immagine personalizzata.

Per creare una VM utilizzando l'immagine più recente e non deprecata della famiglia di immagini Centos 7 e il tipo di macchina a2-highgpu-1g, completa i seguenti passaggi:

  1. Creare la VM. In questo esempio vengono specificati anche i flag facoltativi come tipo di disco di avvio e dimensione.

    gcloud compute instances create VM_NAME \
        --project PROJECT_ID \
        --zone us-central1-c \
        --machine-type a2-highgpu-1g \
        --maintenance-policy TERMINATE --restart-on-failure \
        --image-family centos-7 \
        --image-project centos-cloud \
        --boot-disk-size 200GB \
        --boot-disk-type pd-ssd
    

    Sostituisci quanto segue:

    • VM_NAME: il nome della tua VM
    • PROJECT_ID : il tuo ID progetto.
  2. Installa Driver NVIDIA e CUDA. Per le GPU NVIDIA A100, è richiesta la versione CUDA 11 o superiore.

COS

Puoi creare VM con GPU associate che utilizzano immagini ottimizzate per i container.

Per creare una VM utilizzando l'immagine cos-85-lts e il tipo di macchina a2-highgpu-1g, completa i passaggi seguenti del client locale. I seguenti esempi possono essere eseguiti su un client Mac o Linux:

  1. Se non ne esiste già una, crea una directory /tmp.

    mkdir /tmp
  2. Aggiungi un file di configurazione /cloud-init.yaml alla directory /tmp.

    Queste informazioni sono necessarie per configurare la VM ottimizzata per i container e installare anche il driver NVIDIA e il CUDA all'avvio della VM.

    cat <<'EOF' > /tmp/cloud-init.yaml
    #cloud-config
    
    write_files:
      - path: /etc/systemd/system/cos-gpu-installer.service
        permissions: 0755
        owner: root
        content: |
          [Unit]
          Description=Run the GPU driver installer container
          Requires=network-online.target gcr-online.target
          After=network-online.target gcr-online.target
    
          [Service]
          User=root
          Type=oneshot
          RemainAfterExit=true
          Environment=INSTALL_DIR=/var/lib/nvidia
          ExecStartPre=/bin/mkdir -p ${INSTALL_DIR}
          ExecStartPre=/bin/mount --bind ${INSTALL_DIR} ${INSTALL_DIR}
          ExecStartPre=/bin/mount -o remount,exec ${INSTALL_DIR}
          ExecStart=/usr/bin/docker run --privileged \
                                        --net=host  \
                                        --pid=host \
                                        --volume ${INSTALL_DIR}:/usr/local/nvidia \
                                        --volume /dev:/dev \
                                        --volume /:/root \
                                        --env NVIDIA_DRIVER_VERSION=450.80.02 \
                                        gcr.io/cos-cloud/cos-gpu-installer:v20200701
          StandardOutput=journal+console
          StandardError=journal+console
    
    runcmd:
      - systemctl daemon-reload
      - systemctl enable cos-gpu-installer.service
      - systemctl start cos-gpu-installer.service
    
    EOF
    
  3. Crea una VM ottimizzata per i container con la famiglia di immagini cos-85-lts e a2-highgpu-1g.

    Devi fornire il file di configurazione utilizzando il flag -metadata-from-file user-data.

    In questo esempio viene specificata anche la dimensione facoltativa del disco di avvio del flag.

    gcloud compute instances create VM_NAME \
       --project PROJECT_ID \
       --zone us-central1-a \
       --machine-type a2-highgpu-1g \
       --maintenance-policy TERMINATE --restart-on-failure \
       --image-family cos-85-lts \
       --image-project cos-cloud \
       --boot-disk-size 200GB \
       --metadata-from-file user-data=/tmp/cloud-init.yaml
    

    Sostituisci quanto segue:

    • VM_NAME: il nome della tua VM
    • PROJECT_ID : il tuo ID progetto.

    Dopo aver creato la VM, accedi alla VM ed esegui il seguente comando per verificare che il driver NVIDIA sia installato.

    /var/lib/nvidia/bin/nvidia-smi

    L'installazione del driver richiede circa 5 minuti.

GPU multiistanza (A100)

Una GPU multi-istanza partiziona una singola GPU NVIDIA A100 all'interno della stessa VM in ben sette istanze GPU indipendenti. Vengono eseguiti contemporaneamente, ognuno con i propri multi-processore di memoria, cache e flusso. Questa configurazione consente alla GPU A100 di fornire una qualità del servizio (QoS) garantita con un utilizzo fino a 7 volte superiore rispetto ai precedenti modelli GPU. Con le GPU A100 da 40 GB, ogni istanza GPU multi-istanza può essere allocata fino a 5 GB di memoria, mentre con l'aumento della capacità di memoria della GPU A100 da 80 GB, questa può essere raddoppiata a 10 GB.

Per ulteriori informazioni sull'utilizzo delle GPU multi-istanza, consulta la Guida dell'utente delle GPU multi-istanza di NVIDIA.

Per creare GPU multi-istanza, completa i seguenti passaggi:

  1. Crea una VM con GPU A100 collegate.

  2. Abilita i driver della GPU NVIDIA.

  3. Abilita le GPU multiistanza e riavvia la VM.

    sudo nvidia-smi -mig 1
    sudo reboot
    
  4. Esamina le forme GPU multi-istanza disponibili.

    sudo nvidia-smi mig --list-gpu-instance-profiles
    

    L'output è simile al seguente:

    +--------------------------------------------------------------------------+
    | GPU instance profiles:                                                   |
    | GPU   Name          ID    Instances   Memory     P2P    SM    DEC   ENC  |
    |                           Free/Total   GiB              CE    JPEG  OFA  |
    |==========================================================================|
    |   0  MIG 1g.5gb     19     7/7        4.75       No     14     0     0   |
    |                                                          1     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 2g.10gb    14     3/3        9.75       No     28     1     0   |
    |                                                          2     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 3g.20gb     9     2/2        19.62      No     42     2     0   |
    |                                                          3     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 4g.20gb     5     1/1        19.62      No     56     2     0   |
    |                                                          4     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 7g.40gb     0     1/1        39.50      No     98     5     0   |
    |                                                          7     1     1   |
    +--------------------------------------------------------------------------+
    
  5. Crea la GPU (GI) e le istanze di calcolo (CI) associate a più istanze che vuoi. Puoi creare queste istanze specificando il nome del profilo completo o abbreviato, l'ID profilo o una combinazione di entrambi. Per ulteriori informazioni, consulta la sezione Creazione di istanze GPU.

    L'esempio seguente crea due istanze GPU MIG 3g.20gb utilizzando una combinazione del nome abbreviato del profilo (3g.20gb) e dell'ID profilo (9).

    È specificato anche il flag -C, che crea le istanze di calcolo associate per il profilo richiesto.

    sudo nvidia-smi mig -cgi 9,3g.20gb -C
    

    L'output è simile al seguente:

    Successfully created GPU instance ID  2 on GPU  0 using profile MIG 3g.20gb (ID  9)
    Successfully created compute instance ID  0 on GPU  0 GPU instance ID  2 using profile MIG 3g.20gb (ID  2)
    Successfully created GPU instance ID  1 on GPU  0 using profile MIG 3g.20gb (ID  9)
    Successfully created compute instance ID  0 on GPU  0 GPU instance ID  1 using profile MIG 3g.20gb (ID  2)
    
  6. Verifica che le due GPU con più istanze siano create:

    sudo nvidia-smi mig -lgi
    

    L'output è simile al seguente:

    +----------------------------------------------------+
    | GPU instances:                                     |
    | GPU   Name          Profile  Instance   Placement  |
    |                       ID       ID       Start:Size |
    |====================================================|
    |   0  MIG 3g.20gb       9        1          0:4     |
    +----------------------------------------------------+
    |   0  MIG 3g.20gb       9        2          4:4     |
    +----------------------------------------------------+
    
  7. Verifica che i GI e gli CI corrispondenti siano creati.

    sudo nvidia-smi
    

    L'output è simile al seguente:

    Tue May 18 18:32:22 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 450.80.02    Driver Version: 450.80.02    CUDA Version: 11.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  A100-SXM4-40GB      Off  | 00000000:00:04.0 Off |                   On |
    | N/A   43C    P0    52W / 350W |     22MiB / 40537MiB |     N/A      Default |
    |                               |                      |              Enabled |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | MIG devices:                                                                |
    +------------------+----------------------+-----------+-----------------------+
    | GPU  GI  CI  MIG |         Memory-Usage |        Vol|         Shared        |
    |      ID  ID  Dev |           BAR1-Usage | SM     Unc| CE  ENC  DEC  OFA  JPG|
    |                  |                      |        ECC|                       |
    |==================+======================+===========+=======================|
    |  0    1   0   0  |     11MiB / 20096MiB | 42      0 |  3   0    2    0    0 |
    |                  |      0MiB / 32767MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    |  0    2   0   1  |     11MiB / 20096MiB | 42      0 |  3   0    2    0    0 |
    |                  |      0MiB / 32767MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

Creare una VM con GPU collegate (altri tipi di GPU)

Questa sezione descrive come creare VM utilizzando i seguenti tipi di GPU.

GPU NVIDIA:

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

GPU per workstation virtuale NVIDIA RTX (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 aggiunta automaticamente una licenza NVIDIA RTX Virtual Workstation alla VM.

Console

  1. In Google Cloud Console, vai alla pagina Crea un'istanza.

    Vai a Creare un'istanza

  2. Specifica un nome per la VM. Per ulteriori informazioni, consulta la convenzione di denominazione delle risorse.

  3. Seleziona una regione e una zona che supportano il modello GPU.

    Per saperne di più sui modelli GPU supportati da diverse aree geografiche e zone, consulta Disponibilità delle aree geografiche e delle zone GPU.

  4. Nella sezione Configurazione macchina completa i seguenti passaggi:

    1. In Serie, seleziona N1.
    2. In Tipo di macchina, seleziona un tipo di macchina N1. In alternativa, puoi specificare le impostazioni dei tipi di macchine personalizzate.
    3. Espandi la sezione Piattaforma CPU e GPU.

      1. Fai clic su Aggiungi GPU.
      2. Specifica il tipo e il numero di GPU.
      3. Se il tuo modello GPU supporta workstation virtuali e prevedi di eseguire carichi di lavoro ad alta intensità di grafica su questa VM, seleziona Abilita workstation virtuale (NVIDIA GRID).

        Per informazioni sulle workstation virtuali NVIDIA RTX, consulta la pagina relativa alle workstation virtuali NVIDIA RTX per carichi di lavoro grafici (precedentemente noti come NVIDIA GRID).

  5. Per selezionare il tuo sistema operativo, fai clic su Cambia nella sezione Disco di avvio. Viene aperta la pagina Configurazione disco di avvio.

  6. Nella pagina Configurazione disco di avvio, procedi nel seguente modo:

    1. Nella scheda Immagini pubbliche, scegli un'immagine Compute Engine supportata o un'immagine VM di deep learning.
    2. Specifica una dimensione del disco di avvio di almeno 40 GB.
    3. Per confermare le opzioni del disco di avvio, fai clic su Salva.
  7. Configura altre impostazioni della VM necessarie. Ad esempio, puoi modificare le impostazioni di prerilasciabilità per configurare la VM come VM prerilasciabile. Questo riduce il costo della VM e delle GPU associate. Per ulteriori informazioni, consulta la pagina relativa alle GPU sulle VM prerilasciabili.

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

gcloud

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

--preemptible è un flag facoltativo che configura la tua VM come istanza prerilasciabile. Questo riduce il costo della VM e delle GPU associate. Per ulteriori informazioni, consulta la pagina relativa alle GPU sulle 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 nome della nuova VM.
  • MACHINE_TYPE: il tipo di macchina che hai selezionato per la tua VM.
  • ZONE: la zona per la VM. Questa zona deve supportare il 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: una famiglia di immagini. In questo modo viene creata la VM dall'immagine del sistema operativo più recente e non dichiarata. Ad esempio, se specifichi --image-family debian-10, Compute Engine crea una VM dall'ultima versione dell'immagine del sistema operativo nella famiglia di immagini Debian 10.

    Puoi anche specificare un'immagine personalizzata o un'immagine VM di deep learning.

  • IMAGE_PROJECT: il progetto immagine Compute Engine a cui appartiene la famiglia di immagini. Se usi un'immagine personalizzata o un'immagine Deep Learning VM, specifica il progetto a cui appartengono queste immagini.

  • ACCELERATOR_COUNT: il numero di GPU che vuoi aggiungere alla VM. Consulta la pagina relativa alle GPU su Compute Engine per un elenco dei limiti GPU basati sul tipo di macchina della tua VM.

  • ACCELERATOR_TYPE: il modello GPU che vuoi utilizzare. Se prevedi di eseguire carichi di lavoro ad alta intensità di grafica su questa VM, usa uno dei 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 K80: nvidia-tesla-k80
    • GPU per workstation virtuale NVIDIA RTX (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 aggiunta automaticamente alla tua VM una licenza per workstation virtuale NVIDIA RTX.

Esempio

Ad esempio, puoi utilizzare il seguente comando gcloud per avviare una VM Ubuntu 16.04 con 1 GPU NVIDIA K80 e 2 vCPU nella zona us-east1-d.

gcloud compute instances create gpu-instance-1 \
    --machine-type n1-standard-2 \
    --zone us-east1-d \
    --boot-disk-size 40GB \
    --accelerator type=nvidia-tesla-k80,count=1 \
    --image-family ubuntu-1604-lts \
    --image-project ubuntu-os-cloud \
    --maintenance-policy TERMINATE --restart-on-failure

API

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

"preemptible": true è un parametro facoltativo che configura la tua VM come istanza prerilasciabile. In questo modo ridurrai il costo della VM e delle GPU associate. Per ulteriori informazioni, consulta la pagina relativa alle GPU sulle istanze prerilasciabili.

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

Sostituisci quanto segue:

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

Nell'API, crea una richiesta POST al metodo instances.insert. Includi il parametro acceleratorType per specificare il tipo di GPU da utilizzare e il parametro acceleratorCount per specificare il numero di GPU 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 nome della VM.
  • PROJECT_ID: ID del progetto.
  • ZONE: la zona per la VM. Questa zona deve supportare il tipo di GPU.
  • MACHINE_TYPE: il tipo di macchina che hai selezionato per la VM. Consulta le GPU su Compute Engine per vedere quali tipi di macchina sono disponibili in base al numero di GPU che preferisci.
  • IMAGE o IMAGE_FAMILY: specifica 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: una famiglia di immagini. In questo modo viene creata la VM dall'immagine del sistema operativo più recente e non dichiarata. Ad esempio, se specifichi "sourceImage": "projects/debian-cloud/global/images/family/debian-10", Compute Engine crea una VM dall'ultima versione dell'immagine del sistema operativo nella famiglia di immagini Debian 10.

    Puoi anche specificare un'immagine personalizzata o un'immagine VM di deep learning.

  • IMAGE_PROJECT: il progetto immagine Compute Engine a cui appartiene la famiglia di immagini. Se usi un'immagine personalizzata o un'immagine Deep Learning VM, specifica il progetto a cui appartengono queste 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 default per utilizzare la rete predefinita.

  • ACCELERATOR_COUNT: il numero di GPU che vuoi aggiungere alla VM. Consulta la pagina relativa alle GPU su Compute Engine per un elenco dei limiti GPU basati sul tipo di macchina della tua VM.

  • ACCELERATOR_TYPE: il modello GPU che vuoi utilizzare. Se prevedi di eseguire carichi di lavoro ad alta intensità di grafica su questa VM, usa uno dei 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 K80: nvidia-tesla-k80
    • GPU per workstation virtuale NVIDIA RTX (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 aggiunta automaticamente alla tua VM una licenza per workstation virtuale NVIDIA RTX.

Passaggio successivo: per assicurarti che il tuo sistema possa utilizzare le GPU, segui questi passaggi:

Quali sono i passaggi successivi?