Questo documento spiega come creare ed eseguire un job che utilizza una GPU (Graphics Processing Unit). Per saperne di più sulle funzionalità e sulle limitazioni delle GPU, consulta la sezione Informazioni sulle GPU nella documentazione di Compute Engine.
Quando crei un job batch, puoi utilizzare facoltativamente le GPU per accelerare carichi di lavoro specifici. I casi d'uso comuni per i job che utilizzano le GPU includono l'elaborazione dei dati ad alta intensità e i carichi di lavoro di intelligenza artificiale (AI) come il machine learning (ML).
Prima di iniziare
- Se non hai mai utilizzato Batch, consulta la sezione Guida introduttiva a Batch e attiva 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:
-
Batch Job Editor (
roles/batch.jobsEditor
) sul progetto -
Utente service account (
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.
-
Batch Job Editor (
Crea un job che utilizza le GPU
Per creare un job che utilizza le GPU:
- Pianifica i requisiti per un job che utilizza GPU.
- Crea un job con i requisiti e i metodi che hai identificato. Per esempi di come creare un job utilizzando le opzioni consigliate, consulta Crea un job di esempio che utilizza le GPU in questo documento.
Pianificare i requisiti per un job che utilizza le GPU
Prima di creare un job che utilizza le GPU, pianifica i requisiti del job come spiegato nelle sezioni seguenti:
- Seleziona il tipo di macchina GPU e il metodo di provisioning
- Installa i driver della GPU
- Definisci le risorse VM compatibili
Passaggio 1: seleziona il tipo di macchina GPU e il metodo di provisioning
I requisiti di un job variano in base al tipo di macchina GPU e al metodo di provisioning preferiti e le opzioni per ciascuno potrebbero essere interdipendenti. In base ai tuoi requisiti e alle tue priorità, puoi selezionare prima il tipo di macchina GPU o il metodo di provisioning. In genere, il tipo di macchina GPU influisce principalmente sulle prestazioni e sui prezzi di base, mentre il metodo di provisioning influisce principalmente sulla disponibilità delle risorse e su costi o sconti aggiuntivi.
Seleziona il tipo di macchina GPU
I tipi di macchine con 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 sono elencati nella pagina Tipi di macchine con GPU nella documentazione di Compute Engine.
I campi richiesti per un job per specificare un tipo di macchina GPU variano in base alle categorie nella tabella seguente:
Tipi di macchine GPU e relativi requisiti di lavoro | |
---|---|
GPU per VM ottimizzate per l'acceleratore: le VM con un tipo di macchina della famiglia di macchine ottimizzate per l'acceleratore hanno automaticamente collegato 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 a 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 specifici di GPU sono piuttosto flessibili. A meno che tu non crei il job utilizzando la Google Cloud console, puoi lasciare che Batch selezioni automaticamente un tipo di macchina che soddisfi i requisiti delle attività del job. |
Seleziona il metodo di provisioning
Batch utilizza metodi diversi per eseguire il provisioning delle risorse VM per i job che utilizzano GPU in base al tipo di risorse richieste dal job. I metodi di provisioning disponibili e i relativi requisiti sono spiegati nella tabella seguente, che li elenca in base ai casi d'uso: dal più alto al più basso disponibilità delle risorse.
In sintesi, consigliamo alla maggior parte degli utenti di procedere come segue:
Se intendi utilizzare i tipi di macchine con GPU A3 senza prenotazione, utilizza Dynamic Workload Scheduler per Batch (anteprima).
Per tutti gli altri tipi di macchine con GPU, utilizza il metodo di provisioning predefinito. Il metodo di provisioning predefinito è in genere on demand, a meno che il progetto non disponga di prenotazioni inutilizzate che il job può utilizzare automaticamente.
Metodi di provisioning e relativi requisiti di lavoro | |
---|---|
Prenotazioni
|
Batch utilizza le prenotazioni per i job che possono consumare le prenotazioni inutilizzate. Per saperne di più sulle prenotazioni e sui relativi requisiti, consulta la pagina Garantire la disponibilità delle risorse utilizzando le prenotazioni di VM. |
Dynamic Workload Scheduler per Batch (anteprima)
|
Batch utilizza Dynamic Workload Scheduler per i job che soddisfano tutti i seguenti requisiti:
|
On demand
|
Batch utilizza on demand per tutti gli altri job. |
VM spot
|
Batch utilizza le VM spot per i job che impostano
il campo |
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 (opzione consigliata, 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
installGpuDrivers
per il job sutrue
. Questo metodo è consigliato se il job non richiede l'installazione manuale dei driver.Se vuoi specificare la versione del driver GPU che Batch installa, imposta anche il campo
driverVersion
.Installa manualmente i driver GPU:questo metodo è obbligatorio se una delle seguenti condizioni è vera:
- Un job utilizza sia script che eseguibili del container e non ha accesso a internet. Per saperne di più sull'accesso di un job, consulta la panoramica del networking batch.
- Un job utilizza un'immagine VM personalizzata. Per scoprire di più sulle immagini sistema operativo VM e su quali immagini sistema operativo VM puoi utilizzare, consulta la panoramica dell'ambiente sistema operativo VM.
Per installare manualmente i driver GPU richiesti, ti consigliamo 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 tuo job ha eseguibili di 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
installGpuDrivers
del job sufalse
(impostazione predefinita).
Passaggio 3: definisci le risorse VM compatibili
Per scoprire di più sui requisiti e sulle opzioni per definire le risorse VM per un job, consulta Risorse job.
In sintesi, devi eseguire tutte le seguenti operazioni quando definisci le risorse VM per un job che utilizza le GPU:
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 la sezione Disponibilità delle GPU per regioni e zone nella documentazione di Compute Engine.
Se specifichi il tipo di macchina del job, assicurati che disponga di 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 le GPU per le VM ottimizzate per gli acceleratori.
Assicurati di definire le risorse VM per un job utilizzando un metodo valido:
- Definisci le risorse VM direttamente utilizzando il campo
instances[].policy
(consigliato, se possibile). Questo metodo è illustrato negli esempi. - Definisci le risorse VM tramite un modello utilizzando il campo
instances[].instanceTemplate
. Questo metodo è necessario per installare manualmente i driver GPU tramite un'immagine personalizzata. Per saperne di più, consulta Definisci le risorse del job utilizzando un modello di istanza VM.
- Definisci le risorse VM direttamente utilizzando il campo
Crea un job di esempio che utilizza le GPU
Le sezioni seguenti spiegano come creare un job di esempio per ogni tipo di macchina GPU utilizzando le opzioni consigliate. Nello specifico, tutti i job di esempio installano automaticamente i driver GPU, definiscono direttamente le risorse VM e specificano il metodo di provisioning o utilizzano quello predefinito.
- Utilizza le GPU per le VM A3 tramite Dynamic Workload Scheduler (anteprima)
- Utilizzare le GPU per le VM ottimizzate per l'acceleratore
- Utilizzare le GPU per le VM N1
Utilizzare le GPU per le VM A3 tramite Dynamic Workload Scheduler per Batch (anteprima)
Puoi creare un job che utilizza le GPU per le VM A3 tramite Dynamic Workload Scheduler utilizzando gcloud CLI o l'API Batch.
gcloud
Crea un file JSON che installa i driver GPU, specifica un tipo di macchina della serie di macchine A3, blocca le prenotazioni e viene eseguito in una località che dispone del tipo di macchina GPU.
Ad esempio, per creare un job di script di base che utilizzi le GPU per le VM A3 tramite Dynamic Workload Scheduler, 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": { "machineType": "MACHINE_TYPE", "reservation": "NO_RESERVATION" } } ], "location": { "allowedLocations": [ "ALLOWED_LOCATIONS" ] } }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }
Sostituisci quanto segue:
INSTALL_GPU_DRIVERS
: se impostato sutrue
, Batch recupera i driver necessari per il tipo di GPU specificato nel campopolicy
da una posizione di terze parti e li installa per tuo conto. Se imposti questo campo sufalse
(impostazione predefinita), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.MACHINE_TYPE
: un tipo di macchina della serie di macchine A3.ALLOWED_LOCATIONS
: se vuoi, puoi utilizzare il campoallowedLocations[]
per specificare una regione o zone specifiche in una regione in cui è consentito eseguire le VM per il tuo job. Ad esempio,regions/us-central1
consente tutte le zone nella regioneus-central1
. Assicurati di specificare le località che offrono il tipo di macchina GPU che vuoi per questo job. In caso contrario, se ometti questo campo, assicurati che la località del job offra il tipo di macchina GPU.
Per creare ed eseguire il job, utilizza il comando
gcloud batch jobs submit
:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILE
Sostituisci quanto segue:
JOB_NAME
: il nome del job.LOCATION
: la sede del lavoro.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 serie A3, blocca le prenotazioni e viene eseguito in una località che dispone del tipo di macchina GPU.
Ad esempio, per creare un job di script di base che utilizza le GPU per le VM A3 tramite Dynamic Workload Scheduler, 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": {
"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 sede del lavoro.JOB_NAME
: il nome del job.INSTALL_GPU_DRIVERS
: se impostato sutrue
, Batch recupera i driver necessari per il tipo di GPU specificato nel campopolicy
da una posizione di terze parti e li installa per tuo conto. Se imposti questo campo sufalse
(impostazione predefinita), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.MACHINE_TYPE
: un tipo di macchina della serie di macchine A3.ALLOWED_LOCATIONS
: se vuoi, puoi utilizzare il campoallowedLocations[]
per specificare una regione o zone specifiche in una regione in cui è consentito eseguire le VM per il tuo job. Ad esempio,regions/us-central1
consente tutte le zone nella regioneus-central1
. Assicurati di specificare le località che offrono il tipo di macchina GPU che vuoi per questo job. In caso contrario, se ometti questo campo, assicurati che la località del job offra il tipo di macchina GPU.
Utilizzare 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 utilizzando la console Google Cloud , procedi nel seguente modo:
Nella console Google Cloud , vai alla pagina Elenco dei job.
Fai clic su
Crea. Si apre 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 da eseguire per questo job.
Ad esempio, per creare un job di script di base:
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
(valore predefinito).
Configura la pagina Specifiche delle risorse:
Nel riquadro a sinistra, fai clic su Specifiche delle risorse. Viene visualizzata la pagina Specifiche delle risorse.
(Facoltativo) Nella sezione Modello di provisioning delle VM, seleziona una delle seguenti opzioni per il modello di provisioning per le VM di questo job:
Se il tuo job può resistere al prerilascio e vuoi VM scontate, seleziona Spot.
In caso contrario, seleziona Standard (impostazione predefinita).
Seleziona la sede per questo lavoro.
Nel campo Regione, seleziona una regione.
Nel campo Zona, esegui una delle seguenti operazioni:
Se vuoi limitare l'esecuzione di questo job 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. Poi, nel campo Numero di GPU, seleziona il numero di GPU per ogni VM.
Se hai selezionato uno dei tipi di GPU per VM ottimizzate per gli acceleratori, 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 necessarie per ogni attività:
Nel campo Core, inserisci la quantità di vCPUs per attività.
Ad esempio, inserisci
1
(valore predefinito).Nel campo Memoria, inserisci la quantità di RAM in GB per attività.
Ad esempio, inserisci
0.5
(valore predefinito).
Fai clic su Fine.
(Facoltativo) Configura gli altri campi per questo job.
(Facoltativo) Per esaminare la configurazione del job, nel riquadro a sinistra, fai clic su Anteprima.
Fai clic su Crea.
Nella pagina Dettagli job viene visualizzato il job che hai creato.
gcloud
Crea un file JSON che installa i driver GPU, specifica un tipo di macchina dalla famiglia di macchine ottimizzate per l'acceleratore e viene eseguito in una località che dispone del tipo di macchina GPU.
Ad esempio, per creare un job di script di base che utilizzi le GPU per le VM ottimizzate per gli acceleratori, 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": { "machineType": "MACHINE_TYPE" } } ], "location": { "allowedLocations": [ "ALLOWED_LOCATIONS" ] } }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }
Sostituisci quanto segue:
INSTALL_GPU_DRIVERS
: se impostato sutrue
, Batch recupera i driver necessari per il tipo di GPU specificato nel campopolicy
da una posizione di terze parti e li installa per tuo conto. Se imposti questo campo sufalse
(impostazione predefinita), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.MACHINE_TYPE
: un tipo di macchina della famiglia di macchine ottimizzate per l'acceleratore.ALLOWED_LOCATIONS
: se vuoi, puoi utilizzare il campoallowedLocations[]
per specificare una regione o zone specifiche in una regione in cui è consentito eseguire le VM per il tuo job. Ad esempio,regions/us-central1
consente tutte le zone nella regioneus-central1
. Assicurati di specificare le località che offrono il tipo di macchina GPU che vuoi per questo job. In caso contrario, se ometti questo campo, assicurati che la località del job offra il tipo di macchina GPU.
Per creare ed eseguire il job, utilizza il comando
gcloud batch jobs submit
:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILE
Sostituisci quanto segue:
JOB_NAME
: il nome del job.LOCATION
: la sede del lavoro.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à che dispone del
tipo di macchina GPU.
Ad esempio, per creare un job di script di base che utilizza le GPU per le VM ottimizzate per gli acceleratori, 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": {
"machineType": "MACHINE_TYPE"
}
}
],
"location": {
"allowedLocations": [
"ALLOWED_LOCATIONS"
]
}
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto del tuo progetto.LOCATION
: la sede del lavoro.JOB_NAME
: il nome del job.INSTALL_GPU_DRIVERS
: se impostato sutrue
, Batch recupera i driver necessari per il tipo di GPU specificato nel campopolicy
da una posizione di terze parti e li installa per tuo conto. Se imposti questo campo sufalse
(impostazione predefinita), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.MACHINE_TYPE
: un tipo di macchina della famiglia di macchine ottimizzate per l'acceleratore.ALLOWED_LOCATIONS
: se vuoi, puoi utilizzare il campoallowedLocations[]
per specificare una regione o zone specifiche in una regione in cui è consentito eseguire le VM per il tuo job. Ad esempio,regions/us-central1
consente tutte le zone nella regioneus-central1
. Assicurati di specificare le località che offrono il tipo di macchina GPU che vuoi per questo job. In caso contrario, se ometti questo campo, assicurati che la località del job offra il tipo di macchina GPU.
Java
Node.js
Python
Utilizzare le GPU per le VM N1
Puoi creare un job che utilizza le 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 utilizzando la console Google Cloud , procedi nel seguente modo:
Nella console Google Cloud , vai alla pagina Elenco dei job.
Fai clic su
Crea. Si apre 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 da eseguire per questo job.
Ad esempio, per creare un job di script di base:
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
(valore predefinito).
Configura la pagina Specifiche delle risorse:
Nel riquadro a sinistra, fai clic su Specifiche delle risorse. Viene visualizzata la pagina Specifiche delle risorse.
(Facoltativo) Nella sezione Modello di provisioning delle VM, seleziona una delle seguenti opzioni per il modello di provisioning per le VM di questo job:
Se il tuo job può resistere al prerilascio e vuoi VM scontate, seleziona Spot.
In caso contrario, seleziona Standard (impostazione predefinita).
Seleziona la sede per questo lavoro.
Nel campo Regione, seleziona una regione.
Nel campo Zona, esegui una delle seguenti operazioni:
Se vuoi limitare l'esecuzione di questo job 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 necessarie per ogni attività:
Nel campo Core, inserisci la quantità di vCPUs per attività.
Ad esempio, inserisci
1
(valore predefinito).Nel campo Memoria, inserisci la quantità di RAM in GB per attività.
Ad esempio, inserisci
0.5
(valore predefinito).
Fai clic su Fine.
(Facoltativo) Configura gli altri campi per questo job.
(Facoltativo) Per esaminare la configurazione del job, nel riquadro a sinistra, fai clic su Anteprima.
Fai clic su Crea.
Nella pagina Dettagli job viene visualizzato il job che hai creato.
gcloud
Crea un file JSON che installa i driver della GPU, definisce i campi secondari
type
ecount
del campoaccelerators[]
e viene eseguito in una posizione con il tipo di macchina GPU.Ad esempio, per creare un job di script di base che utilizzi le GPU per le VM N1 e consenta 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": { "accelerators": [ { "type": "GPU_TYPE", "count": GPU_COUNT } ] } } ], "location": { "allowedLocations": [ "ALLOWED_LOCATIONS" ] } }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }
Sostituisci quanto segue:
INSTALL_GPU_DRIVERS
: se impostato sutrue
, Batch recupera i driver necessari per il tipo di GPU specificato nel campopolicy
da una posizione di terze parti e li installa per tuo conto. Se imposti questo campo sufalse
(impostazione predefinita), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.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 la sezione Tipi di macchine con GPU per la serie di macchine N1. Utilizza questo campo solo per le GPU per le VM N1.ALLOWED_LOCATIONS
: se vuoi, puoi utilizzare il campoallowedLocations[]
per specificare una regione o zone specifiche in una regione in cui è consentito eseguire le VM per il tuo job. Ad esempio,regions/us-central1
consente tutte le zone nella regioneus-central1
. Assicurati di specificare le località che offrono il tipo di macchina GPU che vuoi per questo job. In caso contrario, se ometti questo campo, assicurati che la località del job offra il tipo di macchina GPU.
Per creare ed eseguire il job, utilizza il comando
gcloud batch jobs submit
:gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILE
Sostituisci quanto segue:
JOB_NAME
: il nome del job.LOCATION
: la sede del lavoro.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, definisce i
campi secondari 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 utilizza GPU per VM N1 e consente a Batch di selezionare il tipo di macchina N1 esatto, 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": {
"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 sede del lavoro.JOB_NAME
: il nome del job.INSTALL_GPU_DRIVERS
: se impostato sutrue
, Batch recupera i driver necessari per il tipo di GPU specificato nel campopolicy
da una posizione di terze parti e li installa per tuo conto. Se imposti questo campo sufalse
(impostazione predefinita), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.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 Tipi di macchine con GPU per la serie di macchine N1. Utilizza questo campo solo per le GPU per le VM N1.ALLOWED_LOCATIONS
: se vuoi, puoi utilizzare il campoallowedLocations[]
per specificare una regione o zone specifiche in una regione in cui è consentito eseguire le VM per il tuo job. Ad esempio,regions/us-central1
consente tutte le zone nella regioneus-central1
. Assicurati di specificare le località che offrono il tipo di macchina GPU che vuoi per questo job. In caso contrario, se ometti questo campo, assicurati che la località del job offra il tipo di macchina GPU.
Java
Node.js
Python
Passaggi successivi
- Se hai problemi a creare o eseguire un job, consulta la sezione Risoluzione dei problemi.
- Visualizzare lavori e attività.
- Scopri di più sulle opzioni di creazione dei job.