Crea un'istanza A3 Ultra o A4


Questo documento descrive come creare istanze con GPU collegate della serie di macchine A3 Ultra o A4. Per scoprire di più sulla creazione di istanze con GPU collegate, consulta la Panoramica della creazione di un'istanza con GPU collegate.

Prima di iniziare

  • Per esaminare le limitazioni e i passaggi di prerequisito aggiuntivi per la creazione di istanze con GPU collegate, ad esempio la selezione di un'immagine del sistema operativo e il controllo della quota GPU, consulta la Panoramica della creazione di un'istanza con GPU collegate.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API. Google Cloud Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in 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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite all'interfaccia alla gcloud CLI.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Ruoli obbligatori

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

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare istanze. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per creare istanze 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 modello di istanza per creare la VM: compute.instanceTemplates.useReadOnly nel modello di istanza
  • Per assegnare una rete legacy alla VM: compute.networks.use nel progetto
  • Per specificare un indirizzo IP statico per la VM: compute.addresses.use nel progetto
  • Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete legacy: compute.networks.useExternalIp nel progetto
  • Per specificare una subnet per la VM: compute.subnetworks.use nel progetto o nella subnet scelta
  • Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete VPC: compute.subnetworks.useExternalIp nel progetto o nella subnet scelta
  • Per impostare i metadati dell'istanza VM per la VM: compute.instances.setMetadata nel 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 nel 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 A3 Ultra o A4

Le istanze A3 Ultra o A4 sono disponibili tramite le seguenti opzioni di creazione, ciascuna con procedure di creazione, disponibilità delle risorse e prezzi diversi. Identifica l'opzione che vuoi utilizzare in base al tuo carico di lavoro.

  • Se devi eseguire carichi di lavoro di AI e ML di lunga durata, come l'addestramento e l'inferenza di modelli di grandi dimensioni che richiedono la latenza più bassa, ti consigliamo di creare VM o cluster che possano utilizzare le funzionalità e i servizi disponibili da Cluster Director. Con Cluster Director, puoi prenotare macchine con allocazione elevata che forniscono pianificazione basata sulla topologia e monitoraggio e manutenzione avanzati di questa capacità riservata. Per scoprire di più su Cluster Director, consulta Cluster Director nella documentazione di AI Hypercomputer.

    Per istruzioni su come creare istanze A3 Ultra o A4, consulta la Panoramica della creazione di VM e cluster nella documentazione di AI Hypercomputer.

  • Se devi eseguire workload AI e ML con priorità inferiore, scegli una delle seguenti opzioni:

    • Se i tuoi carichi di lavoro possono essere avviati in qualsiasi momento e richiedono un numero esatto di VM per essere avviati, puoi utilizzare le richieste di ridimensionamento in un gruppo di istanze gestite (MIG). Con le richieste di ridimensionamento del gruppo di istanze gestite, chiedi a Compute Engine di aggiungere tutte le VM contemporaneamente al gruppo di istanze gestite ogni volta che le risorse richieste sono disponibili. Queste VM possono essere eseguite per un massimo di sette giorni. Poiché le risorse vengono fornite da un pool protetto, hai maggiori probabilità di ottenere GPU rispetto a una richiesta on demand.

      Per ulteriori informazioni sulle richieste di ridimensionamento dei MIG, consulta la pagina Informazioni sulle richieste di ridimensionamento in un gruppo di istanze gestite.

    • Se i tuoi carichi di lavoro sono tolleranti alle interruzioni di disponibilità, puoi ottenere sconti significativi utilizzando le VM spot. Sebbene tu possa creare ed eliminare le VM spot in base alle tue esigenze, queste sono risorse limitate che potrebbero non essere sempre disponibili e Compute Engine potrebbe prerilasciare (arrestare o eliminare automaticamente) le VM spot in qualsiasi momento. Per scoprire di più sulle VM spot, consulta VM spot.

      Per istruzioni su come creare istanze A3 Ultra o A4 utilizzando le VM spot, consulta la sezione Creare un'istanza A3 Ultra o A4 utilizzando le VM spot di questo documento.

Creare un'istanza A3 Ultra o A4 utilizzando le VM spot

Per creare un'istanza A3 Ultra o A4 utilizzando le VM spot, completa i passaggi nelle sezioni seguenti:

  1. Crea reti VPC.
  2. Crea la VM spot.
  3. Prepara una VM Spot con GPU collegate per l'utilizzo.

Crea reti VPC

Per il tipo di macchina A4 o A3 Ultra, devi creare tre reti VPC per le seguenti interfacce di rete:

  • 2 reti VPC per le interfacce di rete (NIC) gVNIC. Vengono utilizzati per la comunicazione tra host.
  • Per le NIC CX7 è necessaria 1 rete VPC con il profilo di rete RDMA. Questa rete deve avere 8 subnet, una per ogni NIC CX7, e viene utilizzata per la comunicazione tra GPU.

Per ulteriori informazioni sull'organizzazione delle NIC, consulta Esaminare la larghezza di banda della rete e l'organizzazione delle NIC.

Configura le emittenti manualmente seguendo le guide alle istruzioni o automaticamente utilizzando lo script fornito.

Guide di istruzioni

Per creare le reti, puoi utilizzare le seguenti istruzioni:

Per queste reti VPC, ti consigliamo di impostare l'unità massima di trasmissione (MTU) su un valore maggiore. Per il tipo di macchina A4 o A3 Ultra, l'MTU consigliato è 8896 byte. Per esaminare le impostazioni MTU consigliate per altri tipi di macchine GPU, consulta Impostazioni MTU per i tipi di macchine GPU.

Script

Per creare le reti, puoi utilizzare il seguente script.

Per queste reti VPC, ti consigliamo di impostare l'unità massima di trasmissione (MTU) su un valore maggiore. Per il tipo di macchina A4 o A3 Ultra, l'MTU consigliato è 8896 byte. Per esaminare le impostazioni MTU consigliate per altri tipi di macchine GPU, consulta Impostazioni MTU per i tipi di macchine GPU.

  #!/bin/bash

  # Create standard VPCs (network and subnets) for the gVNICs
  for N in $(seq 0 1); do
    gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
      --subnet-mode=custom \
      --mtu=8896

    gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
      --network=GVNIC_NAME_PREFIX-net-$N \
      --region=REGION \
      --range=10.$N.0.0/16

    gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
      --network=GVNIC_NAME_PREFIX-net-$N \
      --action=ALLOW \
      --rules=tcp:0-65535,udp:0-65535,icmp \
      --source-ranges=10.0.0.0/8
  done

  # Create SSH firewall rules
  gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
    --network=GVNIC_NAME_PREFIX-net-0 \
    --action=ALLOW \
    --rules=tcp:22 \
    --source-ranges=IP_RANGE

  # Assumes that an external IP is only created for vNIC 0
  gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
    --network=GVNIC_NAME_PREFIX-net-0 \
    --action=ALLOW \
    --rules=icmp \
    --source-ranges=IP_RANGE

  # List and make sure network profiles exist
  gcloud compute network-profiles list

  # Create network for CX-7
  gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
    --network-profile=ZONE-vpc-roce \
    --subnet-mode custom \
    --mtu=8896

  # Create subnets.
  for N in $(seq 0 7); do
    gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
      --network=RDMA_NAME_PREFIX-mrdma \
      --region=REGION \
      --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs
  done
  

Sostituisci quanto segue:

  • GVNIC_NAME_PREFIX: il prefisso del nome personalizzato da utilizzare per le reti VPC e le subnet standard per le gVNIC.
  • RDMA_NAME_PREFIX: il prefisso del nome personalizzato da utilizzare per la rete VPC e le subnet con il profilo di rete RDMA per le NIC CX7.
  • ZONE: specifica una zona in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, consulta Disponibilità delle GPU per regioni e zone.
  • REGION: la regione in cui vuoi creare le subnet. Questa regione deve corrispondere alla zona specificata. Ad esempio, se la tua zona è europe-west1-b, la tua regione è europe-west1.
  • IP_RANGE: l'intervallo IP da utilizzare per le regole del firewall SSH.

Crea la VM Spot

Per creare la VM spot, utilizza uno dei seguenti metodi:

Console

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

    Vai a Crea un'istanza

    Viene visualizzata la schermata Crea un'istanza, che mostra il riquadro Configurazione macchina.

  2. Nel riquadro Configurazione macchina, completa i seguenti passaggi:

    1. Specifica un nome per l'istanza. Consulta Convenzione di denominazione delle risorse.
    2. Seleziona la Regione e la Zona in cui vuoi prenotare la capacità. Consulta l'elenco delle regioni e delle zone GPU disponibili.
    3. Fai clic sulla scheda GPU e completa i seguenti passaggi:
      1. Nell'elenco Tipo di GPU, seleziona il tipo di GPU.
        • Per le istanze A4, seleziona NVIDIA B200
        • Per le istanze A3 Ultra, seleziona NVIDIA H200 141GB
      2. Nell'elenco Numero di GPU, seleziona 8.
  3. Nel menu di navigazione, fai clic su Sistema operativo e spazio di archiviazione. Nel riquadro OS e archiviazione visualizzato, completa i seguenti passaggi:

    1. Fai clic su Cambia. Viene visualizzato il riquadro Configurazione del disco di avvio.
    2. Nella scheda Immagini pubbliche, seleziona un'immagine consigliata. Per un elenco delle immagini consigliate, consulta Sistemi operativi.
    3. Per confermare le opzioni del disco di avvio, fai clic su Seleziona.
  4. Per creare un'istanza con più NIC, completa i seguenti passaggi. In caso contrario, per creare un'istanza con una sola NIC, salta questi passaggi.

    1. Nel menu di navigazione, fai clic su Networking. Nel riquadro Networking visualizzato, completa i seguenti passaggi:

      1. Nella sezione Interfacce di rete, completa i seguenti passaggi:

      2. Elimina l'interfaccia di rete predefinita. Per eliminare l'interfaccia, fai clic su Elimina.

      3. Fai clic su Aggiungi un'interfaccia di rete. Utilizza questa opzione per aggiungere le reti gVNIC e RDMA che hai creato nella sezione precedente. Quando aggiungi le emittenti, ricorda quanto segue:

        • Specifica le reti host negli elenchi Rete e Subnet e imposta l'elenco Scheda di interfaccia di rete su gVNIC.
        • Specifica le reti GPU negli elenchi Rete e Sottorete e imposta l'elenco Scheda di interfaccia di rete su MRDMA per queste reti.
  5. Nel menu di navigazione, fai clic su Avanzate. Nel riquadro Avanzate visualizzato, completa i seguenti passaggi:

    1. Nella sezione Modello di provisioning, seleziona Spot nell'elenco Modello di provisioning delle VM.

    2. (Facoltativo) Per specificare l'azione da eseguire quando Compute Engine preleva l'istanza (arresto (predefinito) o eliminazione), completa i seguenti passaggi:

      1. Espandi la sezione Impostazioni avanzate del modello di provisioning delle VM.
      2. Nell'elenco Al termine della VM, seleziona un'opzione.
  6. Per creare e avviare l'istanza, fai clic su Crea.

gcloud

Per creare la VM, utilizza il comando gcloud compute instances create.

gcloud compute instances create VM_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION

Sostituisci quanto segue:

  • VM_NAME: il nome della VM.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM. Specifica un tipo di macchina A4 o A3 Ultra. Per ulteriori informazioni, consulta Tipi di macchine GPU.
  • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per un elenco dei sistemi operativi supportati, consulta Dettagli del sistema operativo.
  • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo.
  • ZONE: la zona in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, consulta Regioni e zone GPU.
  • DISK_SIZE: le dimensioni del disco di avvio in GB.
  • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti e delle subnet VPC standard che utilizzano le gVNIC.
  • RDMA_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti e delle subnet VPC che utilizzano NIC RDMA.
  • TERMINATION_ACTION: l'azione da eseguire quando Compute Engine preleva l'istanza, STOP (valore predefinito) o DELETE.

REST

Per creare la VM, invia una richiesta POST al metodo instances.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name":"VM_NAME",
  "disks":[
    {
      "boot":true,
      "initializeParams":{
        "diskSizeGb":"DISK_SIZE",
        "diskType":"hyperdisk-balanced",
        "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "mode":"READ_WRITE",
      "type":"PERSISTENT"
    }
  ],
  "networkInterfaces": [
    {
      "accessConfigs": [
        {
          "name": "external-nat",
          "type": "ONE_TO_ONE_NAT"
        }
      ],
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
    }
  ],
  "scheduling":
  {
    "provisioningModel": "SPOT",
    "instanceTerminationAction": "TERMINATION_ACTION"
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui vuoi creare la VM.
  • ZONE: la zona in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, consulta Regioni e zone GPU.
  • MACHINE_TYPE: il tipo di macchina da utilizzare per la VM. Specifica un tipo di macchina A4 o A3 Ultra. Per ulteriori informazioni, consulta Tipi di macchine GPU.
  • VM_NAME: il nome della VM.
  • DISK_SIZE: le dimensioni del disco di avvio in GB.
  • IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo.
  • IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per un elenco dei sistemi operativi supportati, consulta Dettagli del sistema operativo.
  • NETWORK_PROJECT_ID: l'ID progetto della rete.
  • GVNIC_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti e delle subnet VPC standard che utilizzano le gVNIC.
  • REGION: la regione della subnet.
  • RDMA_NAME_PREFIX: il prefisso del nome specificato durante la creazione delle reti e delle subnet VPC che utilizzano NIC RDMA.
  • TERMINATION_ACTION: l'azione da eseguire quando Compute Engine preleva l'istanza, STOP (valore predefinito) o DELETE.

Preparare una VM spot con GPU collegate per l'utilizzo

Per preparare una VM Spot con GPU collegate per l'utilizzo, completa i seguenti passaggi:

  1. Per consentire a un'istanza di utilizzare le GPU collegate, sono necessari i driver GPU. A meno che tu non abbia specificato un'immagine che includa già i driver GPU richiesti, segui la procedura per installare i driver GPU.
  2. Per preparare una VM spot per l'utilizzo, completa i seguenti passaggi:

Passaggi successivi