Questo documento spiega come creare una VM con GPU collegate e che utilizza una famiglia di macchine N1.
Puoi utilizzare la maggior parte dei tipi di macchina N1, ad eccezione di N1 shared-core
.
Prima di iniziare
- Per rivedere altri passaggi dei prerequisiti, come la selezione di un'immagine del sistema operativo e il controllo della quota GPU, consulta il documento sulla panoramica.
-
Se non l'hai già fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità dell'utente per ottenere l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione in Compute Engine come segue.
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
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Set a default region and zone.
-
compute.instances.create
nel progetto -
Per utilizzare un'immagine personalizzata per creare la VM:
compute.images.useReadOnly
sull'immagine -
Per utilizzare uno snapshot al fine di 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 tua 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
nella 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 lettura/scrittura:
compute.disks.use
sul disco -
Per collegare un disco esistente in modalità di sola lettura:
compute.disks.useReadOnly
sul disco - NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
- Workstation virtuale NVIDIA T4:
nvidia-tesla-t4-vws
- Workstation virtuale NVIDIA P4:
nvidia-tesla-p4-vws
Workstation virtuale NVIDIA P100:
nvidia-tesla-p100-vws
Per queste workstation virtuali, alla VM viene aggiunta automaticamente una licenza NVIDIA RTX Virtual Workstation (vWS).
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Specifica un nome per la VM. Consulta la convenzione di denominazione delle risorse.
Seleziona una regione e una zona in cui sono disponibili le GPU. Consulta l'elenco delle zone GPU disponibili.
Nella sezione Configurazione macchina, seleziona la famiglia di macchine GPU, quindi segui questi passaggi:
- Nell'elenco Tipo di GPU, seleziona uno dei modelli di GPU supportati sulle macchine N1.
- Nell'elenco Numero di GPU, seleziona il numero di GPU.
Se il tuo modello GPU supporta workstation virtuali (vWS) NVIDIA RTX per carichi di lavoro di grafica e prevedi di eseguire carichi di lavoro ad alta intensità di grafica su questa VM, seleziona Abilita workstation virtuale (NVIDIA GRID).
Nell'elenco Tipo di macchina, seleziona uno dei tipi di macchine N1 preimpostati. In alternativa, puoi anche specificare impostazioni relative al tipo di macchina personalizzata.
Nella sezione Disco di avvio, fai clic su Cambia. Viene visualizzata la pagina Configurazione disco di avvio.
Nella pagina Configurazione disco di avvio, segui questi passaggi:
- Nella scheda Immagini pubbliche, scegli un'immagine Compute Engine supportata o le immagini Deep Learning VM.
- Specifica una dimensione del disco di avvio di almeno 40 GB.
- Per confermare le opzioni del disco di avvio, fai clic su Seleziona.
Espandi la sezione Opzioni avanzate.
- Espandi la sezione Gestione.
- Nell'elenco Host in manutenzione, seleziona Termina istanza VM. Impossibile eseguire la migrazione live delle VM con GPU collegate. Vedi Gestire gli eventi host GPU.
- Nell'elenco Riavvio automatico, seleziona On.
Configura tutte le altre impostazioni della VM che hai bisogno. Ad esempio, puoi modificare le impostazioni della prerilasciabilità per configurare la VM come istanza prerilasciabile. Questo riduce il costo della VM e delle GPU collegate. Per ulteriori informazioni, consulta la sezione GPU sulle istanze prerilasciabili.
Per creare e avviare la VM, fai clic su Crea.
VM_NAME
: il nome della nuova VM.MACHINE_TYPE
: il tipo di macchina selezionato per la tua VM.ZONE
: la zona per la VM. Questa zona deve supportare il tipo di GPU.DISK_SIZE
: le dimensioni del disco di avvio in GB. Specifica una dimensione del disco di avvio di almeno 40 GB.IMAGE
oIMAGE_FAMILY
che supporta le GPU. Specifica una delle seguenti opzioni:IMAGE
: la versione richiesta di un'immagine pubblica. Ad esempio,--image debian-10-buster-v20200309
.IMAGE_FAMILY
: una famiglia di immagini. In questo modo viene creata la VM dall'immagine del sistema operativo più recente e non deprecata. Ad esempio, se specifichi--image-family debian-10
, Compute Engine crea una VM dall'ultima versione dell'immagine del sistema operativo nella famiglia di immagini Debian 10.
Puoi anche specificare un'immagine personalizzata o Deep Learning VM Image.
IMAGE_PROJECT
: il progetto immagine di Compute Engine a cui appartiene la famiglia di immagini. Se utilizzi un'immagine personalizzata o un'immagine Deep Learning VM Image, specifica il progetto a cui appartengono le immagini.ACCELERATOR_COUNT
: il numero di GPU che vuoi aggiungere alla tua VM. Consulta GPU su Compute Engine per un elenco dei limiti di GPU in base al tipo di macchina della VM.ACCELERATOR_TYPE
: il modello GPU che vuoi utilizzare. Se prevedi di eseguire carichi di lavoro ad alta intensità di grafica su questa VM, utilizza uno dei modelli di workstation virtuali.Scegli uno dei seguenti valori:
GPU NVIDIA:
- NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
- NVIDIA T4:
NVIDIA RTX Virtual Workstation (vWS) (precedentemente nota come NVIDIA GRID):
- Workstation virtuale NVIDIA T4:
nvidia-tesla-t4-vws
- Workstation virtuale NVIDIA P4:
nvidia-tesla-p4-vws
Workstation virtuale NVIDIA P100:
nvidia-tesla-p100-vws
Per queste workstation virtuali, alla VM viene aggiunta automaticamente una licenza NVIDIA RTX Virtual Workstation (vWS).
- Workstation virtuale NVIDIA T4:
PROJECT_ID
: ID progetto.ZONE
: zona da cui desideri elencare i tipi di GPU disponibili.VM_NAME
: il nome della VM.PROJECT_ID
: il tuo ID progetto.ZONE
: la zona per la VM. Questa zona deve supportare il tipo di GPU.MACHINE_TYPE
: il tipo di macchina selezionato per la VM. Consulta la pagina relativa alle GPU su Compute Engine per scoprire quali tipi di macchine sono disponibili in base al numero di GPU che preferisci.IMAGE
oIMAGE_FAMILY
: specifica una delle seguenti opzioni:IMAGE
: la versione richiesta di un'immagine pubblica. Ad esempio,"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
: una famiglia di immagini. In questo modo viene creata la VM dall'immagine del sistema operativo più recente e non deprecata. Ad esempio, se specifichi"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
, Compute Engine crea una VM dall'ultima versione dell'immagine del sistema operativo nella famiglia di immagini Debian 10.
Puoi anche specificare un'immagine personalizzata o Deep Learning VM Image.
IMAGE_PROJECT
: il progetto immagine di Compute Engine a cui appartiene la famiglia di immagini. Se utilizzi un'immagine personalizzata o un'immagine Deep Learning VM Image, specifica il progetto a cui appartengono le 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 chedefault
utilizzi la rete predefinita.ACCELERATOR_COUNT
: il numero di GPU che vuoi aggiungere alla tua VM. Consulta GPU su Compute Engine per un elenco dei limiti di GPU in base al tipo di macchina della VM.ACCELERATOR_TYPE
: il modello GPU che vuoi utilizzare. Se prevedi di eseguire carichi di lavoro ad alta intensità di grafica su questa VM, utilizza uno dei modelli di workstation virtuali.Scegli uno dei seguenti valori:
GPU NVIDIA:
- NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
- NVIDIA T4:
NVIDIA RTX Virtual Workstation (vWS) (precedentemente nota come NVIDIA GRID):
- Workstation virtuale NVIDIA T4:
nvidia-tesla-t4-vws
- Workstation virtuale NVIDIA P4:
nvidia-tesla-p4-vws
Workstation virtuale NVIDIA P100:
nvidia-tesla-p100-vws
Per queste workstation virtuali, alla VM viene aggiunta automaticamente una licenza NVIDIA RTX Virtual Workstation (vWS).
- Workstation virtuale NVIDIA T4:
- Se prevedi di eseguire carichi di lavoro ad alta intensità di grafica, ad esempio quelli per il gioco e la visualizzazione, installa i driver per NVIDIA RTX Virtual Workstation.
- Per la maggior parte dei carichi di lavoro, installa i driver GPU.
- Scopri di più sulle piattaforme GPU.
- Aggiungi SSD locali alle tue istanze. I dispositivi SSD locali si accoppiano bene con le GPU quando le tue app richiedono archiviazione ad alte prestazioni.
- Installa i driver GPU. Se hai abilitato una workstation virtuale NVIDIA RTX, installa un driver per la workstation virtuale.
- Per gestire la manutenzione dell'host GPU, consulta Gestione degli eventi di manutenzione dell'host GPU.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
Per maggiori informazioni, consulta 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
) per il progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.Questo ruolo predefinito contiene le autorizzazioni necessarie per creare VM. Per visualizzare esattamente le autorizzazioni necessarie, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare le VM sono necessarie le seguenti autorizzazioni:
Potresti anche riuscire a ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.
Panoramica
I seguenti modelli di GPU possono essere collegati alle VM che utilizzano famiglie di macchine N1.
GPU NVIDIA:
NVIDIA RTX Virtual Workstation (vWS) (precedentemente nota come NVIDIA GRID):
Crea una VM con GPU collegate
Puoi creare una VM N1 con GPU collegate utilizzando la console Google Cloud, Google Cloud CLI o REST.
Console
gcloud
Per creare e avviare una VM, utilizza il comando
gcloud compute instances create
con i seguenti flag.--preemptible
è un flag facoltativo che configura la tua VM come istanza prerilasciabile. Questo riduce il costo della VM e delle GPU collegate. Per ulteriori informazioni, consulta la sezione GPU sulle istanze prerilasciabili.gcloud compute instances create VM_NAME \ --machine-type MACHINE_TYPE \ --zone ZONE \ --boot-disk-size DISK_SIZE \ --accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \ [--image IMAGE | --image-family IMAGE_FAMILY] \ --image-project IMAGE_PROJECT \ --maintenance-policy TERMINATE --restart-on-failure \ [--preemptible]
Sostituisci quanto segue:
Esempio
Ad esempio, puoi utilizzare il seguente comando
gcloud
per avviare una VM Ubuntu 22.04 con 1 GPU NVIDIA T4 e 2 vCPU nella zonaus-east1-d
.gcloud compute instances create gpu-instance-1 \ --machine-type n1-standard-2 \ --zone us-east1-d \ --boot-disk-size 40GB \ --accelerator type=nvidia-tesla-t4,count=1 \ --image-family ubuntu-2204-lts \ --image-project ubuntu-os-cloud \ --maintenance-policy TERMINATE --restart-on-failure
REST
Identifica il tipo di GPU che vuoi aggiungere alla tua VM. Invia una richiesta GET per elencare i tipi di GPU disponibili per il tuo progetto in una zona specifica.
"preemptible": true
è un parametro facoltativo che configura la VM come istanza prerilasciabile. Questo riduce il costo della VM e delle GPU collegate. Per ulteriori informazioni, consulta la sezione GPU sulle istanze prerilasciabili.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes
Sostituisci quanto segue:
Invia una richiesta POST al metodo
instances.insert
. Includi il parametroacceleratorType
per specificare il tipo di GPU che vuoi utilizzare e il parametroacceleratorCount
per specificare il numero di GPU che vuoi aggiungere. Imposta anche il parametroonHostMaintenance
suTERMINATE
.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": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "boot": true } ], "name": "VM_NAME", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK" } ], "guestAccelerators": [ { "acceleratorCount": ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE" } ], "scheduling": { "onHostMaintenance": "terminate", "automaticRestart": true, ["preemptible": true] }, }
Sostituisci quanto segue:
Installa driver
Per installare i driver, scegli una delle seguenti opzioni:
Che cosa succede dopo?
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-06-28 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }] -