Crea un'istanza A3 High o A2

Questo documento spiega come creare un'istanza di macchina virtuale (VM) che utilizza un tipo di macchina delle serie di macchine ottimizzate per gli acceleratori A2 o A3 High.

Per i tipi di macchine A3 High, questo documento copre solo i tipi di macchine a cui sono collegate meno di 8 GPU. Questi tipi di macchina A3 High con meno di 8 GPU possono essere creati solo come VM spot o VM con avvio flessibile. Per creare un'istanza A3 con 8 GPU collegate, consulta Crea un'istanza A3 Mega, A3 High o A3 Edge con GPUDirect abilitato.

Per creare più VM A3 o A2, puoi anche utilizzare una delle seguenti opzioni:

Prima di iniziare

  • Per esaminare le limitazioni e i passaggi preliminari aggiuntivi per la creazione di istanze con GPU collegate, ad esempio la selezione di un'immagine sistema operativo e il controllo della quota di GPU, consulta la Panoramica della creazione di un'istanza con GPU collegate.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso a Google Cloud servizi e API. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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. 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.

    2. Set a default region and zone.

    REST

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

      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.

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

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare VM, chiedi all'amministratore di concederti il ruolo IAM Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

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

Autorizzazioni obbligatorie

Per creare VM sono necessarie le seguenti autorizzazioni:

  • compute.instances.create sul 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 template di istanza per creare la VM: compute.instanceTemplates.useReadOnly sul template di istanza
  • Per specificare una subnet per la VM: compute.subnetworks.use sul progetto o sulla subnet scelta
  • Per specificare un indirizzo IP statico per la VM: compute.addresses.use sul progetto
  • Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete VPC: compute.subnetworks.useExternalIp sul progetto o sulla subnet scelta
  • Per assegnare una rete legacy alla VM: compute.networks.use sul progetto
  • Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete legacy: compute.networks.useExternalIp sul progetto
  • Per impostare i metadati dell'istanza VM per la VM: compute.instances.setMetadata sul 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 service account che la VM possa utilizzare: compute.instances.setServiceAccount sulla VM
  • Per creare un nuovo disco per la VM: compute.disks.create sul progetto
  • Per collegare un disco esistente in modalità di sola lettura o di lettura e scrittura: compute.disks.use sul disco
  • Per collegare un disco esistente in modalità di sola lettura: compute.disks.useReadOnly sul disco

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Crea una VM con GPU collegate

Puoi creare una VM ottimizzata per l'acceleratore A2 o A3 utilizzando la consoleGoogle Cloud , Google Cloud CLI o REST.

Console

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

    Vai a Crea un'istanza
  2. Nel campo Nome, inserisci un nome univoco per l'istanza. Consulta Convenzione di denominazione delle risorse.
  3. Seleziona una regione e una zona in cui sono disponibili questi tipi di macchine con GPU. Consulta Regioni e zone GPU.
  4. Nella sezione dei tipi di macchina, seleziona GPU.
    1. Nell'elenco Tipo di GPU, seleziona il tipo di GPU.
      • Per le VM A2 ottimizzate per l'acceleratore, seleziona NVIDIA A100 40GB o NVIDIA A100 80GB.
      • Per le VM A3 ottimizzate per l'acceleratore, seleziona NVIDIA H100 80GB.
    2. Nell'elenco Numero di GPU, seleziona il numero di GPU.
  5. Configura il disco di avvio come segue:
    1. Nella sezione Sistema operativo e spazio di archiviazione, fai clic su Cambia. Viene visualizzata la pagina Configurazione del disco di avvio.
    2. Nella pagina Configurazione del disco di avvio, segui questi passaggi:
      1. Nella scheda Immagini pubbliche, scegli un'immagine Compute Engine supportata o Deep Learning VM Images.
      1. Specifica una dimensione del disco di avvio di almeno 40 GiB.
      2. Per confermare le opzioni relative al disco di avvio, fai clic su Seleziona.
  6. Configura il modello di provisioning. Nella sezione Opzioni avanzate, in Modello di provisioning delle VM, seleziona una delle seguenti opzioni:
    • Standard: per workload generici.
    • Avvio flessibile: per carichi di lavoro di breve durata che possono tollerare un orario di inizio flessibile. Per saperne di più, consulta Informazioni sulle VM con avvio flessibile.
    • Spot: per carichi di lavoro a tolleranza di errore che possono essere prerilasciati. Per saperne di più, consulta VM spot.
  7. (Facoltativo) Nell'elenco Informazioni sulla terminazione delle VM, seleziona cosa succede quando Compute Engine esegue il prerilascio delle VM spot o quando le VM flessibili raggiungono la fine della durata di esecuzione:
    • Per arrestare la VM durante il prerilascio, seleziona Arresta (valore predefinito).
    • Per eliminare la VM durante il prerilascio, seleziona Elimina.
  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 seguenti flag. Le VM con GPU non possono eseguire la migrazione in tempo reale, assicurati di impostare il flag --maintenance-policy=TERMINATE.

Il comando di esempio mostra anche il flag --provisioning-model. Questo flag imposta il modello di provisioning per la VM. Questo flag è obbligatorio quando crei tipi di macchina A3 con meno di 8 GPU e deve essere impostato su SPOT o FLEX_START. Per i tipi di macchina A2, questo flag è facoltativo. Se non specifichi un modello, viene utilizzato il modello di provisioning standard. Per saperne di più, consulta Modelli di provisioning delle istanze Compute Engine.

  gcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --zone=ZONE \
      --boot-disk-size=DISK_SIZE \
      --image=IMAGE \
      --image-project=IMAGE_PROJECT \
      --maintenance-policy=TERMINATE \
      --provisioning-model=PROVISIONING_MODEL
  
Sostituisci quanto segue:
  • VM_NAME: il nome della nuova VM.
  • MACHINE_TYPE: un tipo di macchina A2 o un tipo di macchina A3 con 1, 2 o 4 GPU. Per i tipi di macchina A3, devi specificare un modello di provisioning.
  • ZONE: la zona della VM. Questa zona deve supportare il modello di GPU selezionato.
  • DISK_SIZE: le dimensioni del disco di avvio in GiB. Specifica una dimensione del disco di avvio di almeno 40 GiB.
  • IMAGE: un'immagine del sistema operativo che supporta le GPU. Se vuoi utilizzare l'immagine più recente in una famiglia di immagini, sostituisci il flag --image con il flag --image-family e imposta il relativo valore su una famiglia di immagini che supporta le GPU. Ad esempio: --image-family=rocky-linux-8-optimized-gcp.
    Puoi anche specificare un'immagine personalizzata o delle Deep Learning VM Images.
  • IMAGE_PROJECT: il progetto di immagini di Compute Engine a cui appartiene l'immagine sistema operativo. Se utilizzi un'immagine personalizzata o delle Deep Learning VM Images, specifica il progetto a cui appartengono queste immagini.
  • PROVISIONING_MODEL: il modello di provisioning da utilizzare per creare la VM. Puoi specificare SPOT o FLEX_START. Se rimuovi il flag --provisioning-model dal comando, viene utilizzato il modello di provisioning standard. Questo flag è obbligatorio quando crei VM A3 con meno di 8 GPU.

REST

Invia una richiesta POST al metodo instances.insert. Le VM con GPU non possono eseguire la migrazione in tempo reale, assicurati di impostare 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": "SOURCE_IMAGE_URI"
    },
    "boot": true
  }
],
"name": "VM_NAME",
"networkInterfaces":
[
  {
    "network": "projects/PROJECT_ID/global/networks/NETWORK"
  }
],
"scheduling":
{
  "onHostMaintenance": "terminate",
  "automaticRestart": true
}
}

Sostituisci quanto segue:
  • VM_NAME: il nome della nuova VM.
  • PROJECT_ID: il tuo ID progetto.
  • ZONE: la zona della VM. Questa zona deve supportare il modello di GPU selezionato.
  • MACHINE_TYPE: un tipo di macchina A2 o un tipo di macchina A3 con 1, 2 o 4 GPU. Per i tipi di macchina A3, devi specificare un modello di provisioning.
  • PROVISIONING_MODEL: Il modello di provisioning per la VM. Specifica SPOT o FLEX_START. Questo campo è obbligatorio quando crei VM A3 con meno di 8 GPU. Per le VM A2, questo campo è facoltativo; se non specifici un modello, viene utilizzato il modello di provisioning standard. Per saperne di più, consulta Modelli di provisioning delle istanze Compute Engine.
  • SOURCE_IMAGE_URI: l'URI dell'immagine o della famiglia di immagini specifica che vuoi utilizzare. Ad esempio:
    • Immagine specifica: "sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-10-optimized-gcp-v20251017"
    • Famiglia di immagini: "sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-10-optimized-gcp"
    Quando specifichi una famiglia di immagini, Compute Engine crea una VM dall'immagine più recente non deprecata del sistema operativo all'interno di quella famiglia. Per saperne di più su quando utilizzare le famiglie di immagini, consulta Best practice per le famiglie di 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.
Impostazioni aggiuntive:
  • Per specificare un modello di provisioning, aggiungi il campo "provisioningModel": "PROVISIONING_MODEL" all'oggetto scheduling nella richiesta. Questo è necessario per i tipi di macchine A3 con meno di 8 GPU. Se specifichi di creare VM spot, i campi onHostMaintenance e automaticRestart vengono ignorati.
    "scheduling":
      {
        "onHostMaintenance": "terminate",
        "automaticRestart": true,
        "provisioningModel": "PROVISIONING_MODEL"
      }
    

Installa i driver

Affinché la VM utilizzi la GPU, devi installare il driver della GPU sulla VM.

Esempi

In questi esempi, la maggior parte delle VM viene creata utilizzando Google Cloud CLI. Tuttavia, puoi anche utilizzare Google Cloud console o REST per creare queste VM.

Gli esempi riportati di seguito mostrano come creare una VM spot A3 utilizzando un'immagine del sistema operativo standard e una VM A2 utilizzando un'immagine Deep Learning VM Images.

Crea una VM spot A3 utilizzando la famiglia di immagini sistema operativo Debian 13

Questo esempio crea una VM spot A3 (a3-highgpu-1g) utilizzando la famiglia di immagini sistema operativo Debian 13.

gcloud compute instances create VM_NAME \
    --project=PROJECT_ID \
    --zone=ZONE \
    --machine-type=a3-highgpu-1g \
    --provisioning-model=SPOT \
    --maintenance-policy=TERMINATE \
    --image-family=debian-13 \
    --image-project=debian-cloud \
    --boot-disk-size=200GB \
    --scopes=https://www.googleapis.com/auth/cloud-platform

Sostituisci quanto segue:

  • VM_NAME: il nome dell'istanza VM
  • PROJECT_ID: il tuo ID progetto
  • ZONE: la zona dell'istanza VM

Crea una VM A2 con un'istanza di notebook gestiti dall'utente di Vertex AI Workbench sulla VM

Questo esempio crea una VM A2 Standard (a2-highgpu-1g) utilizzando l'immagine tf2-ent-2-3-cu110 Deep Learning VM Images. In questo esempio, vengono specificati flag facoltativi come le dimensioni e l'ambito del disco di avvio.

L'utilizzo delle immagini DLVM è il modo più semplice per iniziare perché queste immagini hanno già i driver NVIDIA e le librerie CUDA preinstallati.

Queste immagini offrono anche ottimizzazioni delle prestazioni.

Per NVIDIA A100 sono supportate le seguenti immagini DLVM:

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

Per ulteriori informazioni sulle immagini DLVM disponibili e sui pacchetti installati sulle immagini, consulta la documentazione su Deep Learning VM.

gcloud compute instances create VM_NAME \
    --project=PROJECT_ID \
    --zone=ZONE \
    --machine-type=a2-highgpu-1g \
    --maintenance-policy=TERMINATE \
    --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 dell'istanza VM
  • PROJECT_ID: il tuo ID progetto
  • ZONE: la zona dell'istanza VM

Il comando di esempio precedente genera anche un'istanza di notebook gestiti dall'utente di Vertex AI Workbench per la VM. Per accedere al notebook, nella console Google Cloud , vai alla pagina Vertex AI Workbench > Notebook gestiti dall'utente.

Vai alla pagina Notebook gestiti dall'utente

GPU multi-istanza

Una GPU multi-istanza partiziona una singola GPU NVIDIA A100 o NVIDIA H100 all'interno della stessa VM in un massimo di sette istanze GPU indipendenti. Vengono eseguite contemporaneamente, ognuna con la propria memoria cache, la propria cache e i propri multiprocessori streaming. Questa configurazione consente alle GPU NVIDIA A100 e H100 di offrire una qualità del servizio (QoS) coerente con un utilizzo fino a 7 volte superiore rispetto ai modelli di GPU precedenti.

Puoi creare fino a sette GPU multi-istanza. Per le GPU A100 da 40 GB, a ogni GPU multi-istanza vengono allocati 5 GB di memoria. Con le GPU A100 da 80 GB, la memoria allocata raddoppia a 10 GB ciascuna. Con le GPU H100 da 80 GB, a ogni GPU multi-istanza vengono allocati 10 GB di memoria.

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

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

  1. Crea un'istanza VM ottimizzata per l'acceleratore A2 (A100) o A3 (H100).

  2. Connetterti all'istanza VM. Per saperne di più, consulta Connettiti alle VM Linux o Connettiti alle VM Windows.

  3. Attiva i driver GPU NVIDIA.

  4. Attiva le GPU multi-istanza.

    sudo nvidia-smi -mig 1
    
  5. 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.10gb       19     7/7        9.62       No     16     1     0   |
    |                                                             1     1     0   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 1g.10gb+me    20     1/1        9.62       No     16     1     0   |
    |                                                             1     1     1   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 1g.20gb       15     4/4        19.50      No     26     1     0   |
    |                                                             1     1     0   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 2g.20gb       14     3/3        19.50      No     32     2     0   |
    |                                                             2     2     0   |
    +-----------------------------------------------------------------------------+
    |   0  MIG 3g.40gb        9     2/2        39.25      No     60     3     0   |
    |                                                             3     3     0   |
    +-----------------------------------------------------------------------------+
    .......
    
  6. Crea la GPU multi-istanza (GI) e le istanze di computing (CI) associate che ti interessano. Puoi creare queste istanze specificando il nome completo o abbreviato del profilo, 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 l'ID profilo (9).

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

    sudo nvidia-smi mig -cgi 9,9 -C
    
  7. Verifica che le due GPU multi-istanza siano state create:

    sudo nvidia-smi mig -lgi
    
  8. Verifica che siano stati creati sia le GI sia le CI corrispondenti.

    sudo nvidia-smi
    

    L'output è simile al seguente:

    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   CUDA Version: 12.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  NVIDIA H100 80G...  Off  | 00000000:04:00.0 Off |                   On |
    | N/A   33C    P0    70W / 700W |     39MiB / 81559MiB |     N/A      Default |
    |                               |                      |              Enabled |
    +-------------------------------+----------------------+----------------------+
    |   1  NVIDIA H100 80G...  Off  | 00000000:05:00.0 Off |                   On |
    | N/A   32C    P0    69W / 700W |     39MiB / 81559MiB |     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  |     19MiB / 40192MiB | 60      0 |  3   0    3    0    3 |
    |                  |      0MiB / 65535MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    |  0    2   0   1  |     19MiB / 40192MiB | 60      0 |  3   0    3    0    3 |
    |                  |      0MiB / 65535MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    ......
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

Passaggi successivi