Questo documento spiega come creare ed eseguire un job che utilizza un'unità di elaborazione grafica (GPU). Per saperne di più sulle funzionalità e sulle limitazioni delle GPU, consulta Informazioni sulle GPU nella documentazione di Compute Engine.
Quando crei un job Batch, puoi facoltativamente utilizzare le GPU per accelerare workload specifici. I casi d'uso comuni per i job che utilizzano le GPU includono il trattamento intensivo dei dati e i workload di intelligenza artificiale (AI), come il machine learning (ML). In alternativa, puoi accelerare i workload di AI e ML utilizzando le TPU.
Prima di iniziare
- Se non hai mai utilizzato Batch, consulta Inizia a utilizzare Batch e abilita Batch completando i prerequisiti per progetti e utenti.
-
Per ottenere le autorizzazioni necessarie per creare un job, chiedi all'amministratore di concederti i seguenti ruoli IAM:
- Editor job batch (
roles/batch.jobsEditor) sul progetto - Utente dell'account di servizio (
roles/iam.serviceAccountUser) sul service account del job, che per impostazione predefinita è il service account Compute Engine predefinito
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
- Editor job batch (
Crea un job che utilizza le GPU
Per creare un job che utilizza le GPU, segui questi passaggi:
- Pianifica la configurazione di un job che utilizza le GPU.
- Crea un job con i requisiti e i metodi che hai identificato. Per esempi su come creare un job utilizzando le opzioni consigliate, consulta Crea un job che utilizza le GPU in questo documento.
Pianifica la configurazione di un job che utilizza le GPU
Prima di creare un job che utilizza le GPU, pianifica i requisiti di configurazione del job come spiegato nelle sezioni seguenti:
- Seleziona il tipo di macchina GPU e l'opzione di consumo
- Installa i driver della GPU
- Definisci risorse VM compatibili
Passaggio 1: seleziona il tipo di macchina GPU e l'opzione di consumo
I requisiti di un job variano in base al tipo di macchina GPU e all'opzione di consumo che preferisci. Le opzioni per ciascuno potrebbero essere interdipendenti.
Per selezionare il tipo di macchina GPU e l'opzione di consumo per il job, completa i seguenti passaggi:
Identifica e seleziona la tua priorità:
- Se vuoi dare la priorità alle prestazioni e ai prezzi di base, consulta la sezione Seleziona il tipo di macchina GPU di questo documento.
- Se vuoi dare la priorità alla disponibilità delle risorse o agli sconti, consulta la sezione Seleziona l'opzione di consumo in questo documento.
Effettua la selezione rimanente in base a ciò che è compatibile con la prima selezione.
Per identificare le opzioni compatibili con la tua prima selezione, consulta Disponibilità delle opzioni di consumo per tipo di macchina nella documentazione di Compute Engine.
Consulta la sezione rimanente per Seleziona l'opzione di consumo o Seleziona il tipo di macchina GPU, rispettivamente.
Seleziona il tipo di macchina GPU
Per selezionare il tipo di macchina GPU per un job e comprenderne i requisiti, completa i seguenti passaggi:
Seleziona un tipo di macchina GPU: per esaminare i tipi di macchina GPU disponibili (le combinazioni valide di tipo di GPU, numero di GPU e tipo di macchina (vCPU e memoria)) e i relativi casi d'uso consigliati, consulta Tipi di macchine GPU e Famiglia di macchine ottimizzate per l'acceleratore nella documentazione di Compute Engine.
Comprendi i requisiti del job per il tipo di macchina GPU: i campi obbligatori per un job per specificare un tipo di macchina GPU variano in base alle categorie nella tabella seguente:
Tipi di macchine GPU e requisiti dei job GPU per VM ottimizzate per l'acceleratore: alle VM con un tipo di macchina della famiglia di macchine ottimizzate per l'acceleratore vengono collegati automaticamente un tipo e un numero specifici di queste GPU.
Per utilizzare le GPU per le VM ottimizzate per l'acceleratore, ti consigliamo di specificare il tipo di macchina. Ogni tipo di macchina ottimizzata per l'acceleratore supporta solo un tipo e un numero specifici di GPU, quindi è funzionalmente equivalente se specifichi o meno questi valori oltre al tipo di macchina ottimizzata per l'acceleratore.
In particolare, Batch supporta anche la specifica solo del tipo e del numero di GPU per le VM ottimizzate per l'acceleratore, ma le opzioni di vCPU e memoria risultanti sono spesso molto limitate. Di conseguenza, ti consigliamo di verificare che le opzioni di vCPU e memoria disponibili siano compatibili con i requisiti delle attività del job.
GPU per VM N1: queste GPU richiedono di specificare il tipo e la quantità da collegare a ogni VM e devono essere collegate alle VM con un tipo di macchina della serie di macchine N1.
Per utilizzare le GPU per le VM N1, ti consigliamo di specificare almeno il tipo e il numero di GPU. Assicurati che la combinazione di valori corrisponda a una delle opzioni GPU valide per i tipi di macchine N1. Le opzioni di vCPU e memoria per le VM N1 che utilizzano un tipo e un numero di GPU specifici sono piuttosto flessibili. A meno che non crei il job utilizzando la console Google Cloud , puoi consentire a Batch di selezionare automaticamente un tipo di macchina che soddisfi i requisiti delle attività del job.
Seleziona l'opzione di consumo
Questa sezione riassume come selezionare l'opzione di consumo per un job e i requisiti del job per ogni opzione.
Le opzioni di consumo disponibili per Batch e i relativi requisiti dei job sono spiegati nella tabella seguente. Questa tabella elenca le opzioni di consumo in base ai relativi casi d'uso, dalla disponibilità più alta a quella più bassa. Assicurati che l'opzione di consumo selezionata soddisfi anche i tuoi requisiti in termini di prezzi, runtime e supporto del tipo di macchina. Per maggiori informazioni sulla scelta di un'opzione di consumo, consulta anche Migliora l'ottenibilità delle risorse, la documentazione di Compute Engine per i modelli di provisioning e la documentazione di AI Hypercomputer per le opzioni di consumo.
| Opzioni di consumo e requisiti dei job | |
|---|---|
Prenotazioni
|
Batch utilizza le prenotazioni per i job che possono utilizzare VM prenotate inutilizzate. Per saperne di più sui requisiti dei job per l'utilizzo delle prenotazioni, consulta la pagina Garantisci la disponibilità delle risorse utilizzando le prenotazioni VM. |
Prenotazioni in modalità Calendario
|
Batch utilizza prenotazioni in modalità calendario per i lavori che eseguono tutte le seguenti operazioni:
|
VM con avvio flessibile
|
|
On demand
|
Per impostazione predefinita, Batch utilizza on demand per la maggior parte dei job. Se vuoi assicurarti che un job utilizzi on demand, esegui tutte le seguenti operazioni:1
1Eccezione: per i job che utilizzano la serie di macchine A3, il comportamento predefinito è univoco e ti consigliamo di non utilizzare on demand e di non lasciare il campo |
VM spot
|
Batch utilizza VM spot per i job che svolgono tutte le seguenti attività:
|
Passaggio 2: installa i driver della GPU
Per utilizzare le GPU per un job, devi installare i driver GPU. Per installare i driver della GPU, seleziona uno dei seguenti metodi:
Installa automaticamente i driver GPU (consigliato, se possibile): come mostrato negli esempi, per consentire a Batch di recuperare i driver GPU richiesti da una posizione di terze parti e installarli per tuo conto, imposta il campo
installGpuDriversper il job sutrue. Questo metodo è consigliato se il tuo job non richiede l'installazione manuale dei driver.Facoltativamente, se devi specificare la versione del driver GPU installato da Batch, imposta anche il campo
driverVersion.Installa manualmente i driver GPU: questo metodo è obbligatorio se si verifica una delle seguenti condizioni:
- Un job utilizza sia eseguibili di script che di container e non ha accesso a internet. Per saperne di più sull'accesso di un job, consulta Panoramica del networking di Batch.
- Un job utilizza un'immagine VM personalizzata. Per scoprire di più sulle immagini sistema operativo delle VM e su quali puoi utilizzare, consulta Panoramica dell'ambiente del sistema operativo delle VM.
Per installare manualmente i driver GPU richiesti, si consiglia il seguente metodo:
Crea un'immagine VM personalizzata che includa i driver GPU.
Per installare i driver GPU, esegui uno script di installazione basato sul sistema operativo che vuoi utilizzare:
Se il job ha eseguibili del container e non utilizza Container-Optimized OS, devi installare anche NVIDIA Container Toolkit
Quando crei e invii un job che utilizza le GPU, specifica l'immagine VM personalizzata che include i driver GPU e imposta il campo
installGpuDriversper il job sufalse(predefinito).
Passaggio 3: definisci le risorse VM compatibili
Per scoprire i requisiti e le opzioni per la definizione delle risorse VM per un job, consulta Risorse del job.
In sintesi, quando definisci le risorse VM per un job che utilizza le GPU, devi eseguire tutte le seguenti operazioni:
Assicurati che il tipo di macchina GPU sia disponibile nella località delle VM del job.
Per scoprire dove sono disponibili i tipi di macchine GPU, consulta Località delle GPU nella documentazione di Compute Engine.
Se specifichi il tipo di macchina del job, assicurati che abbia vCPU e memoria sufficienti per i requisiti delle attività del job. La specifica del tipo di macchina del job è obbligatoria ogni volta che crei un job utilizzando la console Google Cloud ed è consigliata ogni volta che crei un job che utilizza GPU per VM ottimizzate per l'acceleratore.
Assicurati di definire le risorse VM per un job utilizzando un metodo valido:
- Definisci le risorse della VM direttamente utilizzando il campo
instances[].policy(consigliato, se possibile). Questo metodo è mostrato negli esempi. - Definisci le risorse VM tramite un template utilizzando il campo
instances[].instanceTemplate. Questo metodo è obbligatorio per installare manualmente i driver GPU tramite un'immagine personalizzata. Per saperne di più, consulta Definisci le risorse del job utilizzando un template di istanza VM.
- Definisci le risorse della VM direttamente utilizzando il campo
Crea un job che utilizza le GPU
Le sezioni seguenti spiegano come creare un job di esempio per ogni opzione di consumo. In particolare, i job di esempio utilizzano le opzioni consigliate: tutti installano automaticamente i driver GPU e tutti definiscono direttamente le risorse VM.
| Opzione di consumo | Esempi di istruzioni per i job |
|---|---|
| Prenotazioni o prenotazioni in modalità calendario |
Garantisci la disponibilità delle risorse utilizzando le prenotazioni delle VM |
| VM con avvio flessibile | |
| VM on demand o VM spot |
Seleziona una delle seguenti opzioni in base al tipo di macchina GPU: |
Utilizza GPU e VM Flex-start
Puoi creare un job che utilizza GPU per le VM A3 tramite Dynamic Workload Scheduler utilizzando gcloud CLI o l'API Batch.
gcloud
Crea un file JSON che installi i driver GPU, specifichi un tipo di macchina GPU che supporti le VM Flex-start, blocchi le prenotazioni e venga eseguito in una località che supporti il tipo di macchina GPU.
Ad esempio, per creare un job di script di base che utilizza VM Flex-start e GPU per VM ottimizzate per l'acceleratore, crea un file JSON con i seguenti contenuti.
{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello world from task ${BATCH_TASK_INDEX}." } } ] }, "taskCount": 3, "parallelism": 1 } ], "allocationPolicy": { "instances": [ { "installGpuDrivers": INSTALL_GPU_DRIVERS, "policy": { "provisioningModel":"FLEX_START", "machineType": "MACHINE_TYPE", "reservation": "NO_RESERVATION" } } ], "location": { "allowedLocations": [ "ALLOWED_LOCATIONS" ] } }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }Sostituisci quanto segue:
INSTALL_GPU_DRIVERS: se installare o meno automaticamente i driver della GPU. Se impostato sutrue, Batch recupera i driver richiesti per il tipo di GPU specificato nel campopolicyda una posizione di terze parti e li installa per tuo conto. Se imposti questo campo sufalse(valore predefinito), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.MACHINE_TYPE: un tipo di macchina GPU che supporta le VM con avvio flessibile. Per saperne di più, consulta Disponibilità delle opzioni di consumo per tipo di macchina nella documentazione di Compute Engine.ALLOWED_LOCATIONS: le località consentite per il job. Assicurati che la località delle risorse di Compute Engine del job offra il tipo di macchina GPU che vuoi per questo job utilizzando una delle seguenti opzioni:- Per impostazione predefinita, se ometti il campo
allowedLocations[], un job viene eseguito sulle risorse Compute Engine create nella regione della località del job (LOCATION). - Facoltativamente, se includi il
campo
allowedLocations[], il job può essere eseguito solo sulle risorse Compute Engine create nelle località specificate.
- Per impostazione predefinita, se ometti il campo
Per creare ed eseguire il job, utilizza il comando
gcloud batch jobs submit:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILESostituisci quanto segue:
JOB_NAME: il nome del job.LOCATION: la località del job.JSON_CONFIGURATION_FILE: il percorso di un file JSON con i dettagli di configurazione del job.
API
Effettua una richiesta POST al
metodo jobs.create
che installa i driver GPU, specifica un tipo di macchina GPU che supporta
le Flex-start VM, blocca le prenotazioni e viene eseguito in una località che
supporta il tipo di macchina GPU.
Ad esempio, per creare un job di script di base che utilizza VM Flex-start e GPU per VM ottimizzate per l'acceleratore, invia la seguente richiesta:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello world from task ${BATCH_TASK_INDEX}."
}
}
]
},
"taskCount": 3,
"parallelism": 1
}
],
"allocationPolicy": {
"instances": [
{
"installGpuDrivers": INSTALL_GPU_DRIVERS,
"policy": {
"provisioningModel":"FLEX_START",
"machineType": "MACHINE_TYPE",
"reservation": "NO_RESERVATION"
}
}
],
"location": {
"allowedLocations": [
"ALLOWED_LOCATIONS"
]
}
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto del tuo progetto.LOCATION: la località del job.JOB_NAME: il nome del job.INSTALL_GPU_DRIVERS: se installare o meno automaticamente i driver della GPU. Se impostato sutrue, Batch recupera i driver richiesti per il tipo di GPU specificato nel campopolicyda una posizione di terze parti e li installa per tuo conto. Se imposti questo campo sufalse(valore predefinito), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.MACHINE_TYPE: un tipo di macchina GPU che supporta le VM con avvio flessibile. Per ulteriori informazioni, consulta Disponibilità delle opzioni di consumo per tipo di macchina nella documentazione di Compute Engine.ALLOWED_LOCATIONS: le località consentite per il job. Assicurati che la località delle risorse di Compute Engine del job offra il tipo di macchina GPU che vuoi per questo job utilizzando una delle seguenti opzioni:- Per impostazione predefinita, se ometti il campo
allowedLocations[], un job viene eseguito sulle risorse Compute Engine create nella regione della località del job (LOCATION). - Facoltativamente, se includi il
campo
allowedLocations[], il job può essere eseguito solo sulle risorse Compute Engine create nelle località specificate.
- Per impostazione predefinita, se ometti il campo
Utilizza le GPU per le VM ottimizzate per l'acceleratore
Puoi creare un job che utilizza le GPU per le VM ottimizzate per l'acceleratore utilizzando la consoleGoogle Cloud , gcloud CLI, l'API Batch, Java, Node.js o Python.
Console
Per creare un job che utilizza le GPU tramite la console Google Cloud , segui questi passaggi:
Nella console Google Cloud , vai alla pagina Elenco job.
Fai clic su Crea. Viene visualizzata la pagina Crea job batch. Nel riquadro a sinistra, è selezionata la pagina Dettagli job.
Configura la pagina Dettagli job:
(Facoltativo) Nel campo Nome job, personalizza il nome del job.
Ad esempio, inserisci
example-gpu-job.Configura la sezione Dettagli attività:
Nella finestra Nuovo eseguibile, aggiungi almeno uno script o un container per l'esecuzione di questo job.
Ad esempio, per creare un job di script di base, segui questi passaggi:
Seleziona la casella di controllo Script. Viene visualizzato un campo.
Nel campo, inserisci il seguente script:
echo Hello world from task ${BATCH_TASK_INDEX}.Fai clic su Fine.
Nel campo Conteggio attività, inserisci il numero di attività per questo job.
Ad esempio, inserisci
3.(Facoltativo) Nel campo Parallelismo, inserisci il numero di attività da eseguire contemporaneamente.
Ad esempio, inserisci
1(impostazione predefinita).
Configura la pagina Specifiche delle risorse:
Nel riquadro a sinistra, fai clic su Specifiche delle risorse. Viene visualizzata la pagina Specifiche delle risorse.
Nella sezione Modello di provisioning delle VM, seleziona una delle seguenti opzioni per l'opzione di consumo per le VM di questo job:
Se il tuo job può tollerare il prerilascio e vuoi VM spot scontate, seleziona Spot.
In caso contrario, per utilizzare le VM on demand, seleziona Standard (impostazione predefinita).
Seleziona la località per questo job.
Nel campo Regione, seleziona una regione.
Nel campo Zona, esegui una delle seguenti operazioni:
Se vuoi limitare l'esecuzione di questo job solo a una zona specifica, seleziona una zona.
In caso contrario, seleziona Qualsiasi (impostazione predefinita).
Seleziona il tipo di macchina GPU per le VM di questo job:
Nelle opzioni della famiglia di macchine, fai clic su GPU.
Nel campo Tipo di GPU, seleziona il tipo di GPU. Quindi, nel campo Numero di GPU, seleziona il numero di GPU per ogni VM.
Se hai selezionato uno dei tipi di GPU per le VM ottimizzate per l'acceleratore, il campo Tipo di macchina consente una sola opzione per il tipo di macchina in base al tipo e al numero di GPU selezionati.
Per installare automaticamente i driver GPU, seleziona Installazione dei driver GPU (impostazione predefinita).
Configura la quantità di risorse VM richieste per ogni attività:
Nel campo Core, inserisci il numero di vCPUs per attività.
Ad esempio, inserisci
1(impostazione predefinita).Nel campo Memoria, inserisci la quantità di RAM in GB per attività.
Ad esempio, inserisci
0.5(impostazione predefinita).
Fai clic su Fine.
(Facoltativo) Configura gli altri campi per questo job.
(Facoltativo) Per esaminare la configurazione del job, fai clic su Anteprima nel riquadro a sinistra.
Fai clic su Crea.
Nella pagina Dettagli job viene visualizzato il job che hai creato.
gcloud
Crea un file JSON che installi i driver GPU, specifichi un tipo di macchina della famiglia di macchine ottimizzate per l'acceleratore e venga eseguito in una località con il tipo di macchina GPU.
Ad esempio, per creare un job di script di base che utilizza le GPU per le VM ottimizzate per l'acceleratore, crea un file JSON con i seguenti contenuti:
{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello world from task ${BATCH_TASK_INDEX}." } } ] }, "taskCount": 3, "parallelism": 1 } ], "allocationPolicy": { "instances": [ { "installGpuDrivers": INSTALL_GPU_DRIVERS, "policy": { "provisioningModel": "PROVISIONING_MODEL", "machineType": "MACHINE_TYPE", "reservation": "NO_RESERVATION" } } ], "location": { "allowedLocations": [ "ALLOWED_LOCATIONS" ] } }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }Sostituisci quanto segue:
INSTALL_GPU_DRIVERS: se installare o meno automaticamente i driver della GPU. Se impostato sutrue, Batch recupera i driver richiesti per il tipo di GPU specificato nel campopolicyda una posizione di terze parti e li installa per tuo conto. Se imposti questo campo sufalse(valore predefinito), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.PROVISIONING_MODEL: il modello di provisioning per la tua opzione di consumo, ovveroSTANDARDper on demand oSPOTper le VM spot.MACHINE_TYPE: un tipo di macchina della famiglia di macchine ottimizzate per l'acceleratore.ALLOWED_LOCATIONS: le località consentite per il job. Assicurati che la località delle risorse di Compute Engine del job offra il tipo di macchina GPU che vuoi per questo job utilizzando una delle seguenti opzioni:- Per impostazione predefinita, se ometti il campo
allowedLocations[], un job viene eseguito sulle risorse Compute Engine create nella regione della località del job (LOCATION). - Facoltativamente, se includi il
campo
allowedLocations[], il job può essere eseguito solo sulle risorse Compute Engine create nelle località specificate.
- Per impostazione predefinita, se ometti il campo
Per creare ed eseguire il job, utilizza il comando
gcloud batch jobs submit:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILESostituisci quanto segue:
JOB_NAME: il nome del job.LOCATION: la località del job.JSON_CONFIGURATION_FILE: il percorso di un file JSON con i dettagli di configurazione del job.
API
Invia una richiesta POST al
metodo jobs.create
che installa i driver GPU, specifica un tipo di macchina della
famiglia di macchine ottimizzate per l'acceleratore e viene eseguito in una località con il
tipo di macchina GPU.
Ad esempio, per creare un job di script di base che utilizza GPU per VM ottimizzate per l'acceleratore, invia la seguente richiesta:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello world from task ${BATCH_TASK_INDEX}."
}
}
]
},
"taskCount": 3,
"parallelism": 1
}
],
"allocationPolicy": {
"instances": [
{
"installGpuDrivers": INSTALL_GPU_DRIVERS,
"policy": {
"provisioningModel": "PROVISIONING_MODEL",
"machineType": "MACHINE_TYPE",
"reservation": "NO_RESERVATION"
}
}
],
"location": {
"allowedLocations": [
"ALLOWED_LOCATIONS"
]
}
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto del tuo progetto.LOCATION: la località del job.JOB_NAME: il nome del job.INSTALL_GPU_DRIVERS: se installare o meno automaticamente i driver della GPU. Se impostato sutrue, Batch recupera i driver richiesti per il tipo di GPU specificato nel campopolicyda una posizione di terze parti e li installa per tuo conto. Se imposti questo campo sufalse(valore predefinito), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.PROVISIONING_MODEL: il modello di provisioning per la tua opzione di consumo, ovveroSTANDARDper on demand oSPOTper le VM spot.MACHINE_TYPE: un tipo di macchina della famiglia di macchine ottimizzate per l'acceleratore.ALLOWED_LOCATIONS: le località consentite per il job. Assicurati che la località delle risorse di Compute Engine del job offra il tipo di macchina GPU che vuoi per questo job utilizzando una delle seguenti opzioni:- Per impostazione predefinita, se ometti il campo
allowedLocations[], un job viene eseguito sulle risorse Compute Engine create nella regione della località del job (LOCATION). - Facoltativamente, se includi il
campo
allowedLocations[], il job può essere eseguito solo sulle risorse Compute Engine create nelle località specificate.
- Per impostazione predefinita, se ometti il campo
Java
Node.js
Python
Utilizza le GPU per le VM N1
Puoi creare un job che utilizza GPU per le VM N1 utilizzando la console Google Cloud , gcloud CLI, l'API Batch, Java, Node.js o Python.
Console
Per creare un job che utilizza le GPU tramite la console Google Cloud , segui questi passaggi:
Nella console Google Cloud , vai alla pagina Elenco job.
Fai clic su Crea. Viene visualizzata la pagina Crea job batch. Nel riquadro a sinistra, è selezionata la pagina Dettagli job.
Configura la pagina Dettagli job:
(Facoltativo) Nel campo Nome job, personalizza il nome del job.
Ad esempio, inserisci
example-gpu-job.Configura la sezione Dettagli attività:
Nella finestra Nuovo eseguibile, aggiungi almeno uno script o un container per l'esecuzione di questo job.
Ad esempio, per creare un job di script di base, segui questi passaggi:
Seleziona la casella di controllo Script. Viene visualizzato un campo.
Nel campo, inserisci il seguente script:
echo Hello world from task ${BATCH_TASK_INDEX}.Fai clic su Fine.
Nel campo Conteggio attività, inserisci il numero di attività per questo job.
Ad esempio, inserisci
3.(Facoltativo) Nel campo Parallelismo, inserisci il numero di attività da eseguire contemporaneamente.
Ad esempio, inserisci
1(impostazione predefinita).
Configura la pagina Specifiche delle risorse:
Nel riquadro a sinistra, fai clic su Specifiche delle risorse. Viene visualizzata la pagina Specifiche delle risorse.
Nella sezione Modello di provisioning delle VM, seleziona una delle seguenti opzioni per l'opzione di consumo per le VM di questo job:
Se il tuo job può tollerare il prerilascio e vuoi VM spot scontate, seleziona Spot.
In caso contrario, per utilizzare le VM on demand, seleziona Standard (impostazione predefinita).
Seleziona la località per questo job.
Nel campo Regione, seleziona una regione.
Nel campo Zona, esegui una delle seguenti operazioni:
Se vuoi limitare l'esecuzione di questo job solo a una zona specifica, seleziona una zona.
In caso contrario, seleziona Qualsiasi (impostazione predefinita).
Seleziona il tipo di macchina GPU per le VM di questo job:
Nelle opzioni della famiglia di macchine, fai clic su GPU.
Nel campo Tipo di GPU, seleziona il tipo di GPU.
Se hai selezionato uno dei tipi di GPU per le VM N1, il campo Serie è impostato su N1.
Nel campo Numero di GPU, seleziona il numero di GPU per ogni VM.
Nel campo Tipo di macchina, seleziona il tipo di macchina.
Per installare automaticamente i driver GPU, seleziona Installazione dei driver GPU (impostazione predefinita).
Configura la quantità di risorse VM richieste per ogni attività:
Nel campo Core, inserisci il numero di vCPUs per attività.
Ad esempio, inserisci
1(impostazione predefinita).Nel campo Memoria, inserisci la quantità di RAM in GB per attività.
Ad esempio, inserisci
0.5(impostazione predefinita).
Fai clic su Fine.
(Facoltativo) Configura gli altri campi per questo job.
(Facoltativo) Per esaminare la configurazione del job, fai clic su Anteprima nel riquadro a sinistra.
Fai clic su Crea.
Nella pagina Dettagli job viene visualizzato il job che hai creato.
gcloud
Crea un file JSON che installi i driver GPU, definisca i campi secondari
typeecountdel campoaccelerators[]ed esegua l'operazione in una località con il tipo di macchina GPU.Ad esempio, per creare un job di script di base che utilizza GPU per le VM N1 e consente a Batch di selezionare il tipo di macchina N1 esatto, crea un file JSON con i seguenti contenuti:
{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello world from task ${BATCH_TASK_INDEX}." } } ] }, "taskCount": 3, "parallelism": 1 } ], "allocationPolicy": { "instances": [ { "installGpuDrivers": INSTALL_GPU_DRIVERS, "policy": { "provisioningModel": "PROVISIONING_MODEL", "reservation": "NO_RESERVATION", "accelerators": [ { "type": "GPU_TYPE", "count": GPU_COUNT } ] } } ], "location": { "allowedLocations": [ "ALLOWED_LOCATIONS" ] } }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }Sostituisci quanto segue:
INSTALL_GPU_DRIVERS: se installare o meno automaticamente i driver della GPU. Se impostato sutrue, Batch recupera i driver richiesti per il tipo di GPU specificato nel campopolicyda una posizione di terze parti e li installa per tuo conto. Se imposti questo campo sufalse(valore predefinito), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.PROVISIONING_MODEL: il modello di provisioning per la tua opzione di consumo, ovveroSTANDARDper on demand oSPOTper le VM spot.GPU_TYPE: il tipo di GPU. Puoi visualizzare un elenco dei tipi di GPU disponibili utilizzando il comandogcloud compute accelerator-types list. Utilizza questo campo solo per le GPU per le VM N1.GPU_COUNT: il numero di GPU del tipo specificato. Per saperne di più sulle opzioni valide, consulta i tipi di macchine GPU per la serie di macchine N1. Utilizza questo campo solo per le GPU per le VM N1.ALLOWED_LOCATIONS: le località consentite per il job. Assicurati che la località delle risorse di Compute Engine del job offra il tipo di macchina GPU che vuoi per questo job utilizzando una delle seguenti opzioni:- Per impostazione predefinita, se ometti il campo
allowedLocations[], un job viene eseguito sulle risorse Compute Engine create nella regione della località del job (LOCATION). - Facoltativamente, se includi il
campo
allowedLocations[], il job può essere eseguito solo sulle risorse Compute Engine create nelle località specificate.
- Per impostazione predefinita, se ometti il campo
Per creare ed eseguire il job, utilizza il comando
gcloud batch jobs submit:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILESostituisci quanto segue:
JOB_NAME: il nome del job.LOCATION: la località del job.JSON_CONFIGURATION_FILE: il percorso di un file JSON con i dettagli di configurazione del job.
API
Effettua una richiesta POST al
metodo jobs.create
che installa i driver GPU, definisce i
sottocampi type e count
del campo accelerators[] e utilizza una località con il tipo di macchina GPU.
Ad esempio, per creare un job di script di base che utilizzi GPU per le VM N1 e consenta a Batch di selezionare il tipo di macchina N1 esatto, effettua la seguente richiesta:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello world from task ${BATCH_TASK_INDEX}."
}
}
]
},
"taskCount": 3,
"parallelism": 1
}
],
"allocationPolicy": {
"instances": [
{
"installGpuDrivers": INSTALL_GPU_DRIVERS,
"policy": {
"provisioningModel": "PROVISIONING_MODEL",
"reservation": "NO_RESERVATION",
"accelerators": [
{
"type": "GPU_TYPE",
"count": GPU_COUNT
}
]
}
}
],
"location": {
"allowedLocations": [
"ALLOWED_LOCATIONS"
]
}
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto del tuo progetto.LOCATION: la località del job.JOB_NAME: il nome del job.INSTALL_GPU_DRIVERS: se installare o meno automaticamente i driver della GPU. Se impostato sutrue, Batch recupera i driver richiesti per il tipo di GPU specificato nel campopolicyda una posizione di terze parti e li installa per tuo conto. Se imposti questo campo sufalse(valore predefinito), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.PROVISIONING_MODEL: il modello di provisioning per la tua opzione di consumo, ovveroSTANDARDper on demand oSPOTper le VM spot.GPU_TYPE: il tipo di GPU. Puoi visualizzare un elenco dei tipi di GPU disponibili utilizzando il comandogcloud compute accelerator-types list. Utilizza questo campo solo per le GPU per le VM N1.GPU_COUNT: il numero di GPU del tipo specificato. Per ulteriori informazioni sulle opzioni valide, consulta Tipi di macchine GPU per la serie di macchine N1. Utilizza questo campo solo per le GPU per le VM N1.ALLOWED_LOCATIONS: le località consentite per il job. Assicurati che la località delle risorse di Compute Engine del job offra il tipo di macchina GPU che vuoi per questo job utilizzando una delle seguenti opzioni:- Per impostazione predefinita, se ometti il campo
allowedLocations[], un job viene eseguito sulle risorse Compute Engine create nella regione della località del job (LOCATION). - Facoltativamente, se includi il
campo
allowedLocations[], il job può essere eseguito solo sulle risorse Compute Engine create nelle località specificate.
- Per impostazione predefinita, se ometti il campo
Java
Node.js
Python
Passaggi successivi
- Se hai problemi con la creazione o l'esecuzione di un job, consulta Risoluzione dei problemi.
- Visualizza job e attività.
- Scopri di più sulle opzioni di creazione dei job.