Questo documento spiega come creare ed eseguire un job che utilizza una Graphics Processing Unit (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 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 di dati ad alta intensità e i workload 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 l'opzione di consumo
- Installa i driver 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 e le opzioni per ciascuno potrebbero essere interdipendenti.
Per selezionare il tipo di macchina GPU e l'opzione di consumo per il tuo 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 Selezionare il tipo di macchina GPU di questo documento.
- Se vuoi dare la priorità alla disponibilità delle risorse o agli sconti, consulta la sezione Selezionare l'opzione di consumo di questo documento.
Effettua la selezione rimanente in base a ciò che è compatibile con la prima selezione.
Per identificare le opzioni compatibili con la prima selezione, consulta la sezione Disponibilità delle opzioni di consumo per tipo di macchina nella documentazione di Compute Engine.
Consulta la sezione rimanente per Selezionare l'opzione di consumo o Selezionare 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 richiesti per un job per specificare un tipo di macchina GPU variano in base alle categorie nella tabella seguente:
Tipi di macchina 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.
Nello specifico, 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 console Google Cloud , puoi lasciare che Batch selezioni 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.
In sintesi, consigliamo alla maggior parte degli utenti di selezionare l'opzione di consumo per un job nel seguente modo:
- A meno che una delle altre condizioni non sia vera, utilizza le VM flessibili (anteprima) (preferite, se soddisfano i tuoi requisiti) o on demand.
- Se il tuo job richiede un'affidabilità molto elevata della disponibilità delle risorse o se hai prenotazioni inutilizzate che non puoi eliminare, utilizza le prenotazioni in modalità calendario (anteprima) (preferibile, se soddisfa i tuoi requisiti) o le prenotazioni.
- (Facoltativo) Se il tuo workload è molto a tolleranza di errore, potresti essere in grado di ridurre i costi provando a utilizzare le VM spot.
| Opzioni di consumo e requisiti di lavoro | |
|---|---|
Prenotazioni
|
Batch utilizza le prenotazioni per i job che possono utilizzare le VM riservate inutilizzate. Per saperne di più sui requisiti del job per l'utilizzo delle prenotazioni, consulta la pagina Garantire la disponibilità delle risorse utilizzando le prenotazioni di VM. |
Prenotazioni in modalità calendario (anteprima)
|
Batch utilizza le prenotazioni in modalità calendario per i job che soddisfano tutti i seguenti requisiti:
|
VM con avvio flessibile (anteprima)
|
Batch utilizza VM con avvio flessibile per i job che soddisfano tutte le seguenti condizioni:
|
On demand
|
Batch utilizza on demand per la maggior parte degli altri job per impostazione predefinita. Se vuoi assicurarti che un job utilizzi l'on demand, fai quanto segue:1
1Eccezione: per i job che utilizzano la serie di macchine A3, il comportamento predefinito è unico e ti consigliamo di non utilizzare la modalità on demand e di non lasciare il campo |
VM spot
|
Batch utilizza le VM spot per i job che soddisfano tutti i seguenti requisiti:
|
Passaggio 2: installa i driver della GPU
Per utilizzare le GPU per un job, devi installare i driver GPU. Per installare i driver 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.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 Panoramica del networking batch.
- Un job utilizza un'immagine VM personalizzata. Per saperne 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, è consigliato 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 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
installGpuDriversdel 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 tuo job.
Per scoprire dove sono disponibili i tipi di macchine GPU, consulta la sezione Disponibilità degli acceleratori 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 GPU per 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 template 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 opzione di consumo. Nello specifico, i job di esempio utilizzano le opzioni consigliate: tutti installano automaticamente i driver GPU e tutti definiscono direttamente le risorse VM.
| Opzione di consumo | Esempio di istruzioni per il job |
|---|---|
| Prenotazioni o prenotazioni in modalità calendario (anteprima) |
Garantire la disponibilità delle risorse utilizzando le prenotazioni di VM |
| VM con avvio flessibile (anteprima) | |
| VM on demand o spot |
Seleziona una delle seguenti opzioni in base al tipo di macchina GPU: |
Utilizzare GPU e VM con inizio flessibile
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 GPU che supporta le VM Flex-start, 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 con avvio flessibile 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 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(impostazione predefinita), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.MACHINE_TYPE: un tipo di macchina GPU che supporta le VM Flex-start. Per ulteriori informazioni, consulta Disponibilità delle opzioni di consumo per tipo di macchina nella documentazione di Compute Engine.ALLOWED_LOCATIONS: facoltativamente, 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-central1consente tutte le zone nella regioneus-central1. Assicurati di specificare 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 alpha 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 sede del lavoro.JSON_CONFIGURATION_FILE: il percorso di un file JSON con i dettagli di configurazione del job.
API
Effettua una richiesta POST al
metodo v1alpha jobs.create
che installa i driver GPU, specifica un tipo di macchina GPU che supporta
le VM Flex-start, 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 con inizio flessibile e GPU per VM ottimizzate per l'acceleratore, effettua la seguente richiesta:
POST https://batch.googleapis.com/v1alpha/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 sede del lavoro.JOB_NAME: il nome del job.INSTALL_GPU_DRIVERS: 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(impostazione predefinita), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.MACHINE_TYPE: un tipo di macchina GPU che supporta le VM Flex-start. Per ulteriori informazioni, consulta Disponibilità delle opzioni di consumo per tipo di macchina nella documentazione di Compute Engine.ALLOWED_LOCATIONS: facoltativamente, 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-central1consente tutte le zone nella regioneus-central1. Assicurati di specificare 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 , segui questi passaggi:
Nella console Google Cloud , vai alla pagina Elenco dei 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:
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ò resistere al prerilascio e vuoi VM spot scontate, seleziona Spot.
In caso contrario, per utilizzare le VM on demand, 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. 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 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(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, 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 utilizza 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": { "provisioningModel": "PROVISIONING_MODEL", "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 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(impostazione predefinita), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.PROVISIONING_MODEL: il modello di provisioning per l'opzione di consumo:STANDARDper on demand oSPOTper le VM spot.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-central1consente tutte le zone nella regioneus-central1. Assicurati di specificare 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_FILESostituisci 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": {
"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 sede del lavoro.JOB_NAME: il nome del job.INSTALL_GPU_DRIVERS: 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(impostazione predefinita), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.PROVISIONING_MODEL: il modello di provisioning per l'opzione di consumo:STANDARDper on demand oSPOTper le VM spot.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-central1consente tutte le zone nella regioneus-central1. Assicurati di specificare 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 , segui questi passaggi:
Nella console Google Cloud , vai alla pagina Elenco dei 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:
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ò resistere al prerilascio e vuoi VM spot scontate, seleziona Spot.
In caso contrario, per utilizzare le VM on demand, 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(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, 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, definisce i sottocampi
typeecountdel campoaccelerators[]e viene 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 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 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(impostazione predefinita), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.PROVISIONING_MODEL: il modello di provisioning per l'opzione di consumo:STANDARDper 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: facoltativamente, 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-central1consente tutte le zone nella regioneus-central1. Assicurati di specificare 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_FILESostituisci 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
Effettua 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 le GPU per le VM N1 e consente 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 sede del lavoro.JOB_NAME: il nome del job.INSTALL_GPU_DRIVERS: 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(impostazione predefinita), devi installare manualmente i driver GPU per utilizzare le GPU per questo job.PROVISIONING_MODEL: il modello di provisioning per l'opzione di consumo:STANDARDper 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 Tipi di macchine GPU per la serie di macchine N1. Utilizza questo campo solo per le GPU per le VM N1.ALLOWED_LOCATIONS: facoltativamente, 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-central1consente tutte le zone nella regioneus-central1. Assicurati di specificare 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.