Creare una VM ottimizzata per l'acceleratore


Questo documento spiega come creare una VM che utilizza una famiglia di macchine ottimizzata per gli acceleratori. La famiglia di macchine ottimizzate per l'acceleratore è disponibile nei tipi di macchine A3, A2 e G2.

A ogni tipo di macchina ottimizzato per l'acceleratore è collegato un modello specifico di GPU NVIDIA.

Prima di iniziare

  • Per esaminare ulteriori passaggi preliminari, come la selezione di un'immagine del sistema operativo e la verifica della quota GPU, consulta il documento di panoramica.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    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 a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per ulteriori informazioni, consulta Eseguire l'autenticazione 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 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 VM. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

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 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 una VM con GPU collegate

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

Per apportare alcune personalizzazioni alle VM G2, potrebbe essere necessario utilizzare Google Cloud CLI o REST. Consulta le limitazioni di G2.

Console

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

    Vai a Crea un'istanza

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

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

  4. Nella sezione Configurazione macchina, seleziona la famiglia di macchine GPU, quindi procedi nel seguente modo:

    1. Nell'elenco Tipo di GPU, seleziona il tipo di GPU.

      • Per le VM A3 ottimizzate per l'acceleratore, seleziona NVIDIA H100 80GB o NVIDIA H100 80GB MEGA.
      • Per le VM A2 ottimizzate per l'acceleratore, seleziona NVIDIA A100 40GB o NVIDIA A100 80GB.
      • Per le VM G2 ottimizzate per l'acceleratore, seleziona NVIDIA L4.
    2. Nell'elenco Numero di GPU, seleziona il numero di GPU.

    3. Se il modello di GPU supporta le workstation virtuali (vWS) NVIDIA RTX per i carichi di lavoro grafici e prevedi di eseguire carichi di lavoro ad alta intensità di grafica su questa VM, seleziona Attiva workstation virtuale (NVIDIA GRID).

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

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

    1. Nella scheda Immagini pubbliche, scegli un'immagine Compute Engine supportata o Immagini 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 Seleziona.
  7. (Facoltativo) Configura il modello di provisioning. Ad esempio, se il tuo carico di lavoro è a tolleranza di errore e può resistere a un possibile prerilascio delle VM, valuta la possibilità di utilizzare le VM spot per ridurre il costo delle VM e delle GPU collegate. Per ulteriori informazioni, consulta GPU su VM spot. A tale scopo, completa i seguenti passaggi:

    1. Nella sezione Criteri di disponibilità, seleziona Spot dall'elenco Modello di provisioning delle VM. Questa impostazione disattiva le opzioni di riavvio automatico e di manutenzione dell'host per la VM.
    2. (Facoltativo) Nell'elenco Al termine della VM, seleziona cosa succede quando Compute Engine esegue la preemption della VM:
      • Per arrestare la VM durante la preemption, seleziona Interrompi (predefinito).
      • Per eliminare la VM durante la prelazione, 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.

I seguenti flag facoltativi sono mostrati nel comando di esempio:

  • Il flag --provisioning-model=SPOT che configura le VM come VM spot. Se il tuo carico di lavoro è a tolleranza di errore e può resistere a un possibile prerilascio delle VM, valuta la possibilità di utilizzare le VM spot per ridurre il costo delle VM e delle GPU collegate. Per ulteriori informazioni, consulta GPU su VM spot. Per le VM spot, i flag delle opzioni di riavvio automatico e manutenzione dell'host sono disabilitati.
  • Il flag --accelerator per specificare una workstation virtuale. Le workstation virtuali (vWS) NVIDIA RTX sono supportate solo per le VM G2.
  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=SPOT] \
      [--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT]
  
Sostituisci quanto segue:
  • VM_NAME: il nome della nuova VM.
  • MACHINE_TYPE : il tipo di macchina selezionato. Scegli una delle seguenti opzioni:
    • Un tipo di macchina A3.
    • Un tipo di macchina A2.
    • 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 una VM con 4 vCPU e 19 GB di memoria, specifica --machine-type=g2-custom-4-19456.
  • ZONE: la zona della VM. Questa zona deve supportare il modello di GPU selezionato.
  • DISK_SIZE: le dimensioni del disco di avvio in GB. Specifica una dimensione del disco di avvio di almeno 40 GB.
  • 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 Deep Learning VM Images.
  • IMAGE_PROJECT: il progetto di immagini Compute Engine a cui appartiene l'immagine del sistema operativo. Se utilizzi un'immagine personalizzata o immagini VM di deep learning, specifica il progetto a cui appartengono queste immagini.
  • VWS_ACCELERATOR_COUNT: il numero di GPU virtuali di cui hai bisogno.

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 : il tipo di macchina selezionato. Scegli una delle seguenti opzioni:
    • Un tipo di macchina A3.
    • Un tipo di macchina A2.
    • 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 una VM con 4 vCPU e 19 GB di memoria, specifica --machine-type=g2-custom-4-19456.
    SOURCE_IMAGE_URI: l'URI della 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 una VM dall'immagine del sistema operativo non deprecata più recente della famiglia. Per ulteriori informazioni 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:
  • Se il tuo carico di lavoro è a tolleranza di errore e può resistere a un possibile prerilascio delle VM, valuta la possibilità di utilizzare le VM spot per ridurre il costo delle VM e delle GPU collegate. Per ulteriori informazioni, consulta GPU su VM spot. Per specificare le VM spot, aggiungi l'opzione "provisioningModel": "SPOT" alla tua richiesta. Per le VM spot, i flag delle opzioni di riavvio automatico e manutenzione dell'host sono disabilitati.
    "scheduling":
      {
        "provisioningModel": "SPOT"
      }
    
  • Per le VM G2, sono supportate le workstation virtuali (vWS) NVIDIA RTX. Per specificare una workstation virtuale, aggiungi l'opzione "guestAccelerators" alla richiesta. Sostituisci VWS_ACCELERATOR_COUNT con il numero di GPU virtuali di cui hai bisogno.
    "guestAccelerators":
      [
        {
          "acceleratorCount": VWS_ACCELERATOR_COUNT,
          "acceleratorType": "projects/PROJECT_ID/zones/ZONEacceleratorTypes/nvidia-l4-vws"
        }
      ]
    

Limitazioni

VM A3

Le seguenti limitazioni si applicano alle VM che utilizzano i tipi di macchine A3 Edge, A3 High e A3 Mega:

  • Non ricevi sconti per utilizzo e sconti per impegno di utilizzo flessibile per le VM che utilizzano tipi di macchine A3.
  • Puoi utilizzare i tipi di macchine A3 solo in determinate regioni e zone.
  • Non puoi utilizzare i dischi permanenti regionali nelle VM che utilizzano tipi di macchine A3.
  • La serie di macchine A3 è disponibile solo sulla piattaforma Sapphire Rapids.
  • Se la VM utilizza un tipo di macchina A3, non puoi modificarlo. Se devi modificare il tipo di macchina, devi creare una nuova VM.
  • Non puoi cambiare il tipo di macchina di una VM in un tipo di macchina A3. Se hai bisogno di una VM che utilizzi un tipo di macchina A3, devi creare una nuova VM.
  • I tipi di macchine A3 non supportano la modalità single-tenant.
  • Non puoi eseguire sistemi operativi Windows sui tipi di macchine A3.
  • Puoi prenotare i tipi di macchine A3 solo tramite determinate prenotazioni.
  • Per i tipi di macchine a3-highgpu-1g, a3-highgpu-2g ea3-highgpu-4g, si applicano le seguenti limitazioni:
    • Per questi tipi di macchine, devi utilizzare VM spot o una funzionalità che utilizza il Dynamic Workload Scheduler (DWS), come le richieste di ridimensionamento in un MIG. Per istruzioni dettagliate su una di queste opzioni, consulta quanto segue:
    • Non puoi utilizzare Hyperdisk bilanciato con questi tipi di macchine.
    • Non puoi creare prenotazioni.
    Se provi a creare una VM utilizzando il provisioning standard o a creare una prenotazione per questi tipi di macchine, riceverai un messaggio di errore.

VM A2 standard

  • Non ricevi sconti per utilizzo e sconti per impegno di utilizzo flessibile per le VM che utilizzano tipi di macchine A2 standard.
  • Puoi utilizzare i tipi di macchine A2 standard solo in determinate regioni e zone.
  • Non puoi utilizzare i dischi permanenti regionali nelle VM che utilizzano i tipi di macchine A2 standard.
  • Il tipo di macchina A2 standard è disponibile solo sulla piattaforma Cascade Lake.
  • Se la VM utilizza un tipo di macchina A2 standard, puoi passare solo da un tipo di macchina A2 standard a un altro tipo di macchina A2 standard. Non puoi passare a un altro tipo di macchina. Per ulteriori informazioni, consulta Modificare le VM ottimizzate per l'acceleratore.
  • Non puoi utilizzare il sistema operativo Windows con i tipi di macchine A2 standard <codea2-megagpu-16g< code="" dir="ltr" translate="no">. Quando utilizzi sistemi operativi Windows, scegli un tipo di macchina A2 Standard diverso.</codea2-megagpu-16g<>
  • Non puoi eseguire un formato rapido delle unità SSD locali collegate sulle VM Windows che utilizzano tipi di macchine A2 Standard. Per formattare questi SSD locali, devi eseguire una formattazione completa utilizzando l'utilità diskpart e specificando format fs=ntfs label=tmpfs.
  • I tipi di macchine A2 standard non supportano la modalità single-tenant.

VM A2 Ultra

  • Non ricevi sconti per utilizzo e sconti per impegno di utilizzo flessibile per le VM che utilizzano tipi di macchine A2 Ultra.
  • Puoi utilizzare i tipi di macchine A2 Ultra solo in determinate regioni e zone.
  • Non puoi utilizzare i dischi permanenti regionali nelle VM che utilizzano i tipi di macchine A2 Ultra.
  • Il tipo di macchina A2 Ultra è disponibile solo sulla piattaforma Cascade Lake.
  • Se la VM utilizza un tipo di macchina A2 Ultra, non puoi modificarlo. Se devi utilizzare un altro tipo di macchina A2 Ultra o qualsiasi altro tipo di macchina, devi creare una nuova VM.
  • Non puoi modificare un altro tipo di macchina in un tipo A2 Ultra. Se hai bisogno di una VM che utilizzi un tipo di macchina A2 Ultra, devi creare una nuova VM.
  • Non puoi eseguire un formato rapido delle unità SSD locali collegate sulle VM Windows che utilizzano tipi di macchine A2 Ultra. Per formattare questi SSD locali, devi eseguire una formattazione completa utilizzando l'utilità diskpart e specificando format fs=ntfs label=tmpfs.

VM G2

  • Non ricevi sconti per utilizzo e sconti per impegno di utilizzo flessibile per le VM che utilizzano tipi di macchine G2.
  • Puoi utilizzare i tipi di macchine G2 solo in determinate regioni e zone.
  • Non puoi utilizzare i dischi permanenti regionali nelle VM che utilizzano tipi di macchine G2.
  • Il tipo di macchina G2 è disponibile solo sulla piattaforma Cascade Lake.
  • I dischi permanenti standard (pd-standard) non sono supportati nelle VM che utilizzano tipi di macchina G2 standard. Per i tipi di dischi supportati, consulta Tipi di dischi supportati per G2.
  • Non puoi creare GPU con più istanze sui tipi di macchine G2.
  • Se devi modificare il tipo di macchina di una VM G2, consulta Modificare le VM ottimizzate per l'acceleratore.
  • Non puoi utilizzare le immagini VM per il deep learning come dischi di avvio per le tue VM che utilizzano tipi di macchine G2.
  • L'attuale driver predefinito per Container-Optimized OS non supporta le GPU L4 in esecuzione su tipi di macchine G2. Container-Optimized OS supporta anche solo un insieme selezionato di driver. Se vuoi utilizzare Container-Optimized OS sui tipi di macchine G2, consulta le seguenti note:
    • Utilizza una versione di Container-Optimized OS che supporti la versione minima consigliata del driver NVIDIA 525.60.13 o successive. Per ulteriori informazioni, consulta le note di rilascio di Container-Optimized OS.
    • Quando installi il driver, specifica la versione più recente disponibile che funziona per le GPU L4. Ad esempio, sudo cos-extensions install gpu -- -version=525.60.13.
  • Devi utilizzare Google Cloud CLI o REST per creare VM G2 per i seguenti scenari:
    • Vuoi specificare valori di memoria personalizzati.
    • Vuoi personalizzare il numero di core della CPU visibili.

Installa i driver

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

Esempi

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

Gli esempi riportati di seguito mostrano come creare VM utilizzando le seguenti immagini:

COS (A3 Edge/High)

Puoi creare VM a3-edgegpu-8g o a3-highgpu-8g con GPU H100 collegate utilizzando immagini Container-Optimized OS (COS).

Per istruzioni dettagliate su come creare queste VM a3-edgegpu-8g o a3-highgpu-8g che utilizzano Container-Optimized OS, consulta Creare una VM A3 con GPUDirect-TCPX abilitato.

Immagine del sistema operativo pubblico (G2)

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 ritirata della famiglia di immagini Rocky Linux 8 ottimizzata per Google Cloud che utilizza il tipo di macchina g2-standard-8 e dispone di una workstation virtuale NVIDIA RTX, completa i seguenti passaggi:

  1. Crea la VM. In questo esempio, vengono specificati anche flag facoltativi come il tipo e le dimensioni del disco di avvio.

    gcloud compute instances create VM_NAME \
        --project=PROJECT_ID \
        --zone=ZONE \
        --machine-type=g2-standard-8  \
        --maintenance-policy=TERMINATE --restart-on-failure \
        --network-interface=nic-type=GVNIC \
        --accelerator=type=nvidia-l4-vws,count=1 \
        --image-family=rocky-linux-8-optimized-gcp \
        --image-project=rocky-linux-cloud \
        --boot-disk-size=200GB \
        --boot-disk-type=pd-ssd
    

    Sostituisci quanto segue:

    • VM_NAME: il nome della VM
    • PROJECT_ID : il tuo ID progetto.
    • ZONE: la zona della VM.
  2. Installa il driver NVIDIA e CUDA. Per le GPU NVIDIA L4 è richiesta la versione CUDA XX o successiva.

Immagine DLVM (A2)

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

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 preinstallato
  • 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 preinstallato
  • 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 delle VM per il 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 le dimensioni e l'ambito del disco di avvio.

    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 della VM
    • PROJECT_ID : il tuo ID progetto.
    • ZONE: la zona della VM
  2. 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 Blocchi note gestiti dall'utente

GPU a più istanze (solo VM A3 e A2)

Una GPU multi-istanza suddivide una singola GPU NVIDIA H100 o A100 all'interno della stessa VM in un massimo di sette istanze GPU indipendenti. Vengono eseguiti contemporaneamente, ognuno con la propria memoria, la propria cache e i propri multiprocessori streaming. Questa configurazione consente alla GPU NVIDIA H100 o A100 di offrire una qualità del servizio (QoS) garantita 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 e H100 da 80 GB, la memoria allocata raddoppia a 10 GB ciascuna.

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

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

  1. Crea una VM A3 o A2 ottimizzata per l'acceleratore.

  2. Attiva i driver GPU NVIDIA.

  3. Attiva le GPU a più istanze.

    sudo nvidia-smi -mig 1
    
  4. Esamina le forme GPU a più istanze 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   |
    +-----------------------------------------------------------------------------+
    .......
    
  5. Crea la GPU a più istanze (GI) e le istanze di calcolo (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 Creare 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 calcolo associate per il profilo richiesto.

    sudo nvidia-smi mig -cgi 9,9 -C
    
  6. Verifica che le due GPU a più istanze siano state create:

    sudo nvidia-smi mig -lgi
    
  7. Verifica che siano stati creati sia gli IG sia i 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