Crea un'istanza G2 o G4

Questo documento spiega come creare un'istanza di macchina virtuale (VM) che utilizza un tipo di macchina delle serie di macchine G2 o G4. Questi tipi di macchina ottimizzati per l'acceleratore della serie G sono adatti per l'esecuzione di applicazioni ad alta intensità grafica e per l'inferenza di machine learning (ML) conveniente.

Puoi creare queste VM come VM on demand. Per ridurre i costi, puoi anche creare VM spot G2 e G4 oppure VM G2 con avvio flessibile. Per scoprire di più sulla creazione di VM con GPU collegate, consulta Panoramica della creazione di un'istanza con GPU collegate.

Per creare più VM G2 o G4, puoi utilizzare uno dei seguenti metodi:

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 seguente comando:

      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 seguente comando:

      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 Autenticarsi per l'utilizzo di 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 un'istanza con GPU collegate

Puoi creare un'istanza ottimizzata per l'acceleratore G2 o G4 utilizzando la 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. 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 istanze G2, seleziona NVIDIA L4.
      • Per le istanze G4, seleziona NVIDIA RTX PRO 6000.
    2. Nell'elenco Numero di GPU, seleziona il numero di GPU.

      • Per le istanze G4, la console seleziona automaticamente il tipo di macchina corrispondente in base al numero di GPU selezionate.
      • Per le istanze G2, esamina quanto segue:

        • Se selezioni una GPU, puoi scegliere tra un insieme di tipo di macchina con quantità predefinite di vCPU e memoria adatte ai tuoi workload.
        • Se selezioni due o più GPU, la console seleziona automaticamente il tipo di macchina corrispondente in base al numero di GPU selezionate.

        Per le istanze G2, puoi anche specificare tipi di macchine personalizzate. Per specificare il numero di vCPU e la quantità di memoria per l'istanza, trascina i cursori o inserisci i valori nelle caselle di testo. La console mostra un costo stimato per l'istanza man mano che modifichi il numero di vCPU e la memoria.

    3. (Facoltativo) Le serie di macchine G2 e G4 supportano le workstation virtuali (vWS) NVIDIA RTX per i workload grafici. Se prevedi di eseguire workload ad alta intensità di grafica sulla tua istanza, seleziona Abilita workstation virtuale (NVIDIA GRID).

  5. Configura il disco di avvio nel seguente modo:

    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.
      2. Specifica una dimensione del disco di avvio di almeno 40 GiB.
      3. Per confermare le opzioni relative al disco di avvio, fai clic su Seleziona.
  6. (Facoltativo): aggiungi SSD locali. Gli SSD locali possono essere utilizzati per dischi temporanei veloci o per inviare dati alle GPU evitando al contempo i colli di bottiglia I/O. Per aggiungere SSD locali all'istanza:

    1. Nella sezione Sistema operativo e spazio di archiviazione, fai clic su Aggiungi SSD locale.
    2. Per Interfaccia, seleziona NVMe.
    3. In Capacità disco, seleziona il numero di SSD locali da collegare. Per il numero massimo di dischi SSD locali per istanza, consulta i limiti delle serie di macchine per SSD locale.
  7. (Facoltativo): per ottenere una larghezza di banda di rete più elevata per le istanze g4-standard-384, configura più interfacce di rete. Puoi configurare fino a due interfacce di rete. Questa configurazione crea un'istanza g4-standard-384 con due interfacce di rete (2 x 200 Gbps). Nella sezione Networking, completa i seguenti passaggi:

    1. Espandi l'interfaccia di rete predefinita.
    2. Specifica la Rete e la Subnet per la prima interfaccia.
    3. In Scheda di interfaccia di rete, seleziona gVNIC.
    4. Fai clic su Aggiungi interfaccia di rete per aggiungere la seconda interfaccia. Configura la seconda interfaccia di rete nel seguente modo:

      1. Seleziona una Rete e una Subnet VPC diverse. Ogni interfaccia di rete deve trovarsi in una rete VPC unica.
      2. In Scheda di interfaccia di rete, seleziona gVNIC.
  8. (Facoltativo) Configura un modello di provisioning diverso per ridurre i costi. Nella sezione Opzioni avanzate, in Modello di provisioning delle VM, seleziona una delle seguenti opzioni:

    • (Solo G2) Avvio flessibile: per workload 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 ulteriori informazioni, consulta VM spot.

  9. (Facoltativo) Nell'elenco Informazioni sulla terminazione delle VM, seleziona cosa succede quando Compute Engine esegue il prerilascio delle VM spot o 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.
  10. Per creare e avviare la VM, fai clic su Crea.

gcloud

Per creare e avviare un'istanza, utilizza il comando gcloud compute instances create. Il seguente comando include i flag obbligatori.

  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 \
      --restart-on-failure
Sostituisci quanto segue:
  • VM_NAME: il nome della nuova istanza.
  • MACHINE_TYPE: il tipo di macchina selezionato. Scegli una delle seguenti opzioni:

    • Un tipo di macchina G4.
    • Un tipo di macchina G2. Anche i tipi di macchine G2 supportano la memoria personalizzata. La memoria deve essere un multiplo di 1024 MB e rientrare nell'intervallo di memoria supportato. Ad esempio, per creare un'istanza con 4 vCPU e 19 GB di memoria, specifica --machine-type=g2-custom-4-19456.
  • ZONE: la zona dell'istanza. 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.

Flag facoltativi

Per configurare ulteriormente l'istanza in base alle esigenze del workload o del sistema operativo, includi uno o più dei seguenti flag quando esegui il comando gcloud compute instances create.

Funzionalità Descrizione
Modello di provisioning Imposta il modello di provisioning per l'istanza. Specifica SPOT o FLEX_START. FLEX_START non è supportato per le istanze G4. Se non specifichi un modello, viene utilizzato il modello standard. Per saperne di più, consulta Modelli di provisioning delle istanze Compute Engine.
--provisioning-model=PROVISIONING_MODEL
Workstation virtuale Specifica una workstation virtuale (vWS) NVIDIA RTX per i workload grafici.
--accelerator=type=VWS_ACCELERATOR_TYPE,count=VWS_ACCELERATOR_COUNT

Sostituisci quanto segue:

  • Per VWS_ACCELERATOR_TYPE, scegli una delle seguenti opzioni:
    • Per le istanze G4, specifica nvidia-rtx-pro-6000-vws
    • Per le istanze G2, specifica nvidia-l4-vws
  • Per VWS_ACCELERATOR_COUNT, specifica il numero di GPU virtuali di cui hai bisogno.
SSD locale Collega una o più unità SSD locali all'istanza. Gli SSD locali possono essere utilizzati per dischi temporanei veloci o per inviare dati alle GPU evitando al contempo i colli di bottiglia I/O.
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme ...
Per il numero massimo di dischi SSD locali che puoi collegare per istanza VM, vedi Limiti degli SSD locali.
Interfaccia di rete Collega più interfacce di rete all'istanza. Per le istanze g4-standard-384, puoi collegare fino a due interfacce di rete. Puoi utilizzare questo flag per creare un'istanza con due interfacce di rete (2 x 200 Gbps). Ogni interfaccia di rete deve trovarsi in una rete VPC unica.

   --network-interface=network=VPC_NAME_1,subnet=SUBNET_NAME_1,nic-type=GVNIC \
   --network-interface=network=VPC_NAME_2,subnet=SUBNET_NAME_2,nic-type=GVNIC
   

Le interfacce di rete dual sono supportate solo sui tipi di macchine g4-standard-384.

Sostituisci quanto segue:

  • VPC_NAME: il nome della tua rete VPC.
  • SUBNET_NAME: il nome della subnet che fa parte della rete VPC specificata.

REST

Invia una richiesta POST al metodo instances.insert. Poiché non è possibile eseguire la migrazione live delle istanze con GPU, devi impostare il parametro onHostMaintenance su TERMINATE. Il seguente comando include i flag obbligatori.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
   "machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
   "disks":[
      {
         "type":"projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced",
         "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 istanza.
  • PROJECT_ID: il tuo ID progetto.
  • ZONE: la zona dell'istanza. Questa zona deve supportare il modello di GPU selezionato.
  • MACHINE_TYPE: il tipo di macchina selezionato. Scegli una delle seguenti opzioni:
    • Un tipo di macchina G4.
    • Un tipo di macchina G2. Anche i tipi di macchine G2 supportano la memoria personalizzata. La memoria deve essere un multiplo di 1024 MB e rientrare nell'intervallo di memoria supportato. Ad esempio, il nome del tipo di macchina per un'istanza con 4 vCPU e 19 GB di memoria sarebbe g2-custom-4-19456.
  • 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-8-optimized-gcp-v20220719"
    • Famiglia di immagini: "sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
    Quando specifichi una famiglia di immagini, Compute Engine crea un'istanza 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 GiB. Specifica una dimensione del disco di avvio di almeno 40 GiB.

Flag facoltativi

Per configurare ulteriormente l'istanza in base alle esigenze del workload o del sistema operativo, includi uno o più dei seguenti flag quando esegui il metodo instances.insert.

Funzionalità Descrizione
Modello di provisioning Per ridurre i costi, puoi specificare un modello di provisioning diverso aggiungendo il campo "provisioningModel": "PROVISIONING_MODEL" all'oggetto scheduling nella richiesta. Se specifichi di creare VM spot, i campi onHostMaintenance e automaticRestart vengono ignorati. Per saperne di più, consulta Modelli di provisioning delle istanze Compute Engine.
    "scheduling":
     {
       "onHostMaintenance": "terminate",
       "provisioningModel": "PROVISIONING_MODEL"
     }
  

Sostituisci PROVISIONING_MODEL con una delle seguenti opzioni:

  • STANDARD: (Valore predefinito) Un'istanza standard.
  • SPOT: una VM spot.
  • FLEX_START: una VM con avvio flessibile. Le VM con avvio flessibile vengono eseguite per un massimo di sette giorni e possono aiutarti ad acquisire risorse molto richieste come le GPU a un prezzo scontato. Questo modello di provisioning non è supportato per le istanze G4.
Workstation virtuale Specifica una workstation virtuale (vWS) NVIDIA RTX per i workload grafici.
   "guestAccelerators":
     [
       {
         "acceleratorCount": VWS_ACCELERATOR_COUNT,
         "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/VWS_ACCELERATOR_TYPE"
       }
     ]
    

Sostituisci quanto segue:

  • Per VWS_ACCELERATOR_TYPE, scegli una delle seguenti opzioni:
    • Per le istanze G4, specifica nvidia-rtx-pro-6000-vws
    • Per le istanze G2, specifica nvidia-l4-vws
  • Per VWS_ACCELERATOR_COUNT, specifica il numero di GPU virtuali di cui hai bisogno.
SSD locale Collega una o più unità SSD locali all'istanza. Gli SSD locali possono essere utilizzati per dischi temporanei veloci o per inviare dati alle GPU evitando al contempo i colli di bottiglia I/O.
   {
     "type": "SCRATCH",
     "autoDelete": true,
     "initializeParams": {
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/local-nvme-ssd"
     }
   }
  
Per il numero massimo di dischi SSD locali che puoi collegare per istanza VM, vedi Limiti degli SSD locali.
Interfaccia di rete Collega più interfacce di rete all'istanza. Per le istanze g4-standard-384, puoi collegare fino a due interfacce di rete. In questo modo viene creata un'istanza con due interfacce di rete (2 x 200 Gbps). Ogni interfaccia di rete deve trovarsi in una rete VPC unica.

   "networkInterfaces":
   [
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_1",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_1",
       "nicType": "GVNIC"
     },
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_2",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_2",
       "nicType": "GVNIC"
     }
   ]
  

Le interfacce di rete dual sono supportate solo sui tipi di macchine g4-standard-384.

Sostituisci quanto segue:

  • VPC_NAME: il nome della tua rete VPC.
  • SUBNET_NAME: il nome della subnet che fa parte della rete VPC specificata.

Installa i driver

Dopo aver creato l'istanza, devi installare un driver per poter utilizzare la GPU. Il driver da installare dipende dal fatto che tu abbia attivato una workstation virtuale (vWS) NVIDIA RTX per i workload grafici quando hai creato l'istanza.

(Facoltativo) Modalità GPU multi-istanza (solo G4)

La modalità GPU multi-istanza (MIG) è una funzionalità che puoi attivare su una GPU NVIDIA supportata.

Dopo aver creato un'istanza G4, puoi attivare la modalità GPU multi-istanza (MIG) su una singola GPU NVIDIA RTX PRO 6000 collegata alla tua macchina. Con la modalità MIG attivata, la singola GPU viene partizionata in un massimo di sette istanze GPU indipendenti. Ogni istanza viene eseguita contemporaneamente, ognuna con la propria memoria, cache e multiprocessori streaming. Puoi quindi eseguire in parallelo diversi carichi di lavoro su queste istanze GPU.

Per ulteriori informazioni sull'utilizzo delle GPU multi-istanza, consulta la sezione Guida introduttiva a MIG nella documentazione NVIDIA.

Passaggi successivi