Puoi creare un gruppo di macchine virtuali (VM) che hanno unità di elaborazione grafica (GPU) collegate utilizzando la procedura di creazione collettiva. Con la procedura di creazione collettiva, viene eseguita una convalida preliminare in cui la richiesta non riesce rapidamente se non è fattibile. Inoltre, se utilizzi il flag regione, l'API di creazione collettiva sceglie automaticamente la zona che ha la capacità di soddisfare la richiesta. Per ulteriori informazioni sulla creazione collettiva, consulta Informazioni sulla creazione collettiva delle VM.
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:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
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 - Per i tipi di macchina A3 ottimizzati per l'acceleratore, sono collegate GPU NVIDIA H100 da 80 GB. Sono disponibili nelle seguenti opzioni:
- A3 Mega: a questi tipi di macchine sono collegate GPU H100 da 80 GB
- A3 High: a questi tipi di macchine sono collegate GPU H100 da 80 GB
- A3 Edge: a questi tipi di macchine sono collegate GPU H100 da 80 GB
- Per i tipi di macchine A2 ottimizzati per l'acceleratore, sono collegate GPU NVIDIA A100. Sono disponibili nelle seguenti opzioni:
- A2 Ultra: a questi tipi di macchine sono collegate GPU A100 da 80 GB
- A2 Standard: a questi tipi di macchine sono collegate GPU A100 da 40 GB
- Per i tipi di macchina G2 ottimizzati per l'acceleratore, sono collegate GPU NVIDIA L4.
--provisioning-model=SPOT
è un flag facoltativo 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 disattivati.Il flag
--accelerator
per specificare una workstation virtuale. Le workstation virtuali (vWS) NVIDIA RTX sono supportate solo per le VM G2.- Nomi VM:
my-test-vm-1
,my-test-vm-2
- A ogni VM sono collegate due GPU, specificate utilizzando il tipo di macchina ottimizzato per l'acceleratore appropriato.
REGION
: la regione per le VM. Questa regione 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
.
IMAGE
: un'immagine del sistema operativo che supporta le GPU.Se vuoi utilizzare l'immagine più recente in una famiglia di immagini, sostituisci il
--image
con il--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 dell'immagine di Compute Engine a cui appartiene l'immagine del sistema operativo. Se utilizzi un'immagine personalizzata o Immagini VM per il deep learning, specifica il progetto a cui appartengono queste immagini.VWS_ACCELERATOR_COUNT
: il numero di GPU virtuali di cui hai bisogno.- Nomi VM:
my-test-vm-1
,my-test-vm-2
A ogni VM sono collegate due GPU, specificate utilizzando il tipo di macchina ottimizzato per l'acceleratore appropriato.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "namePattern":"my-test-vm-#", "count":"2", "instanceProperties": { "machineType":MACHINE_TYPE, "disks":[ { "type":"PERSISTENT", "initializeParams":{ "diskSizeGb":"200", "sourceImage":SOURCE_IMAGE_URI }, "boot":true } ], "name": "default", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/default" } ], "scheduling":{ "onHostMaintenance":"TERMINATE", ["automaticRestart":true] } } }
PROJECT_ID
: il tuo ID progettoREGION
: la regione per le VM. Questa regione deve supportare il modello di GPU selezionato.MACHINE_TYPE
: il tipo di macchina selezionato. Scegli una delle seguenti opzioni:- 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 dalla più recente immagine del sistema operativo non deprecata della famiglia. Per maggiori informazioni su quando utilizzare le famiglie di immagini, consulta le best practice per le famiglie di immagini.
- Immagine specifica:
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 utilizzare una VM spot, aggiungi l'opzione
"provisioningModel": "SPOT
alla richiesta. Per le VM spot, i flag di riavvio automatico e di manutenzione dell'host sono disattivati."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. SostituisciVWS_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" } ]
- 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:
- Per creare VM spot, consulta
Creare una VM ottimizzata per l'acceleratore
e ricordati di impostare il modello di provisioning su
SPOT
- Per creare una richiesta di ridimensionamento in un gruppo di istanze gestite che utilizza Dynamic Workload Scheduler, consulta Creare un gruppo di istanze gestite con VM GPU.
- Per creare VM spot, consulta
Creare una VM ottimizzata per l'acceleratore
e ricordati di impostare il modello di provisioning su
- Non puoi utilizzare Hyperdisk bilanciato con questi tipi di macchine.
- Non puoi creare prenotazioni.
-
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 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.
- 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
. - 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
.
- Utilizza una versione di Container-Optimized OS che supporti la versione minima consigliata
del driver NVIDIA
- 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.
- NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
- NVIDIA T4 Virtual Workstation:
nvidia-tesla-t4-vws
- NVIDIA P4 Virtual Workstation:
nvidia-tesla-p4-vws
NVIDIA P100 Virtual Workstation:
nvidia-tesla-p100-vws
Per queste workstation virtuali, viene aggiunta automaticamente alla VM una licenza per workstation virtuale (vWS) NVIDIA RTX.
- Nomi VM:
my-test-vm-1
,my-test-vm-2
- VM create in qualsiasi zona in
us-central1
che supporta le GPU - A ogni VM sono collegate due GPU T4, specificate utilizzando i flag di tipo di acceleratore e di conteggio degli acceleratori
- In ogni VM sono installati i driver GPU
- Ogni VM utilizza l'immagine Deep Learning VM
pytorch-latest-gpu-v20211028-debian-10
- Nomi VM:
my-test-vm-1
,my-test-vm-2
- VM create in qualsiasi zona in
us-central1
che supporta le GPU - A ogni VM sono collegate due GPU T4, specificate utilizzando i flag di tipo di acceleratore e di conteggio degli acceleratori
- In ogni VM sono installati i driver GPU
- Ogni VM utilizza l'immagine Deep Learning VM
pytorch-latest-gpu-v20211028-debian-10
Scopri come monitorare le prestazioni della GPU.
Scopri come utilizzare una larghezza di banda di rete maggiore.
Scopri come gestire gli eventi di manutenzione degli host GPU.
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:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Panoramica
Quando crei VM con GPU collegate utilizzando il metodo di creazione collettiva, puoi scegliere di creare VM in una regione (ad esempio
us-central1
) o in una zona specifica come (us-central1-a
).Se scegli di specificare una regione, Compute Engine posiziona le VM in qualsiasi zona all'interno della regione che supporta le GPU.
Creare gruppi di VM ottimizzate per l'acceleratore
La famiglia di macchine ottimizzate per l'acceleratore contiene più tipi di macchine.
A ogni tipo di macchina ottimizzato per l'acceleratore è collegato un modello specifico di GPU NVIDIA.
Puoi creare un gruppo di VM ottimizzate per l'acceleratore utilizzando Google Cloud CLI o REST.
gcloud
Per creare un gruppo di VM, utilizza il
gcloud compute instances bulk create
comando. Per ulteriori informazioni sui parametri e su come utilizzare questo comando, consulta Creare più VM contemporaneamente.I seguenti flag facoltativi sono mostrati nel comando di esempio:
Esempio
Questo esempio crea due VM con GPU collegate utilizzando le seguenti specifiche:
gcloud compute instances bulk create \ --name-pattern="my-test-vm-#" \ --region=REGION \ --count=2 \ --machine-type=MACHINE_TYPE \ --boot-disk-size=200 \ --image=IMAGE \ --image-project=IMAGE_PROJECT \ --on-host-maintenance=TERMINATE \ [--provisioning-model=SPOT] \ [--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT]
Sostituisci quanto segue:
Se l'operazione è riuscita, l'output è simile al seguente:
NAME ZONE my-test-vm-1 us-central1-b my-test-vm-2 us-central1-b Bulk create request finished with status message: [VM instances created: 2, failed: 0.]
REST
Utilizza il metodo
instances.bulkInsert
con i parametri richiesti per creare più VM in una zona. Per ulteriori informazioni sui parametri e su come utilizzare questo comando, consulta Creare più VM contemporaneamente.Esempio
Questo esempio crea due VM con GPU collegate utilizzando le seguenti specifiche:
Sostituisci quanto segue:
Impostazioni aggiuntive:
Limitazioni
VM A3
Le seguenti limitazioni si applicano alle VM che utilizzano i tipi di macchine A3 Edge, A3 High e A3 Mega:
VM A2 standard
VM A2 Ultra
VM G2
Creare gruppi di VM N1 per uso generale
Puoi creare un gruppo di VM con GPU collegate utilizzando Google Cloud CLI o REST.
Questa sezione descrive come creare più VM utilizzando i seguenti tipi di GPU:
GPU NVIDIA:
Workstation virtuale (vWS) NVIDIA RTX (precedentemente nota come NVIDIA GRID):
gcloud
Per creare un gruppo di VM, utilizza il
gcloud compute instances bulk create
comando. Per ulteriori informazioni sui parametri e su come utilizzare questo comando, consulta Creare più VM contemporaneamente.Esempio
L'esempio seguente crea due VM con GPU collegate utilizzando le seguenti specifiche:
gcloud compute instances bulk create \ --name-pattern="my-test-vm-#" \ --count=2 \ --region=us-central1 \ --machine-type=n1-standard-2 \ --accelerator type=nvidia-tesla-t4,count=2 \ --boot-disk-size=200 \ --metadata="install-nvidia-driver=True" \ --scopes="https://www.googleapis.com/auth/cloud-platform" \ --image=pytorch-latest-gpu-v20211028-debian-10 \ --image-project=deeplearning-platform-release \ --on-host-maintenance=TERMINATE --restart-on-failure
Se l'operazione è riuscita, l'output è simile al seguente:
NAME ZONE my-test-vm-1 us-central1-b my-test-vm-2 us-central1-b Bulk create request finished with status message: [VM instances created: 2, failed: 0.]
REST
Utilizza il metodo
instances.bulkInsert
con i parametri richiesti per creare più VM in una zona. Per ulteriori informazioni sui parametri e su come utilizzare questo comando, consulta Creare più VM contemporaneamente.Esempio
L'esempio seguente crea due VM con GPU collegate utilizzando le seguenti specifiche:
Sostituisci
PROJECT_ID
con l'ID progetto.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/region/us-central1/instances/bulkInsert { "namePattern":"my-test-vm-#", "count":"2", "instanceProperties": { "machineType":"n1-standard-2", "disks":[ { "type":"PERSISTENT", "initializeParams":{ "diskSizeGb":"200", "sourceImage":"projects/deeplearning-platform-release/global/images/pytorch-latest-gpu-v20211028-debian-10" }, "boot":true } ], "name": "default", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/default" } ], "guestAccelerators": [ { "acceleratorCount": 2, "acceleratorType": "nvidia-tesla-t4" } ], "scheduling":{ "onHostMaintenance":"TERMINATE", "automaticRestart":true }, "metadata":{ "items":[ { "key":"install-nvidia-driver", "value":"True" } ] } } }
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-12-19 UTC.
-