Questa pagina descrive la configurazione della GPU per i tuoi job Cloud Run. Le GPU funzionano bene per i workload AI, ad esempio l'addestramento di modelli linguistici di grandi dimensioni (LLM) utilizzando i framework che preferisci, l'esecuzione dell'inferenza batch o offline sugli LLM e la gestione di altre attività di calcolo intensivo come l'elaborazione video e il rendering della grafica come job in background. Google fornisce GPU NVIDIA L4 con 24 GB di memoria GPU (VRAM) e GPU NVIDIA RTX PRO 6000 Blackwell (anteprima) con 96 GB di memoria GPU (VRAM), che è separata dalla memoria dell'istanza.
La GPU su Cloud Run è completamente gestita, senza bisogno di driver o librerie aggiuntivi. La funzionalità GPU offre disponibilità on demand senza necessità di prenotazioni, in modo simile al funzionamento di CPU on demand e memoria on demand in Cloud Run.
Le istanze Cloud Run con una GPU L4 o NVIDIA RTX PRO 6000 Blackwell collegata con driver preinstallati vengono avviate in circa 5 secondi, dopodiché i processi in esecuzione nel container possono iniziare a utilizzare la GPU.
Puoi configurare una GPU per istanza Cloud Run. Se utilizzi container sidecar, tieni presente che la GPU può essere collegata a un solo container.
Tipi di GPU supportati
Cloud Run supporta due tipi di GPU:
- GPU L4 con la versione attuale del driver NVIDIA: 535.x.x (12.2). Per le GPU L4, devi utilizzare un minimo di 4 CPU e 16 GiB di memoria.
- GPU NVIDIA RTX PRO 6000 Blackwell con la versione attuale del driver NVIDIA: 580.x.x (13.0) (anteprima). Per la GPU NVIDIA RTX PRO 6000 Blackwell, devi utilizzare un minimo di 20 CPU e 80 GiB di memoria.
Aree geografiche supportate
Le seguenti regioni sono supportate dalla GPU L4:
asia-southeast1(Singapore)asia-south1(Mumbai) . Questa regione è disponibile solo su invito. Se ti interessa questa regione, contatta il team dedicato al tuo Account Google.europe-west1(Belgio)Bassi livelli di CO2
europe-west4(Paesi Bassi)Bassi livelli di CO2
us-central1(Iowa)Bassi livelli di CO2 . Questa regione è disponibile solo su invito. Se ti interessa questa regione, contatta il team dedicato al tuo Account Google.
us-east4(Virginia del Nord)
Le seguenti regioni sono supportate dalla GPU NVIDIA RTX PRO 6000 Blackwell (anteprima):
asia-southeast1(Singapore).asia-south2(Delhi, India). Questa regione è disponibile solo su invito. Se ti interessa questa regione, contatta il team dedicato al tuo Account Google.europe-west4(Paesi Bassi)Bassi livelli di CO2
us-central1(Iowa)Bassi livelli di CO2
Impatto sui prezzi
Per i dettagli sui prezzi delle GPU, consulta Prezzi di Cloud Run. Tieni presente i seguenti requisiti e considerazioni:
- La GPU per i job segue i prezzi senza ridondanza a livello di zona.
- Le configurazioni di CPU e memoria della risorsa.
- La GPU viene fatturata per l'intera durata del ciclo di vita dell'istanza.
Ridondanza non zonale della GPU
La funzionalità Cloud Run Jobs fornisce il supporto della ridondanza non zonale solo per le istanze abilitate alla GPU. Con la ridondanza non a livello di zona abilitata, Cloud Run tenta il failover per i job abilitati alla GPU nel miglior modo possibile. Cloud Run indirizza le esecuzioni dei job ad altre zone solo se in quel momento è disponibile una capacità GPU sufficiente. Questa opzione non garantisce la capacità riservata per gli scenari di failover, ma comporta un costo inferiore per secondo-GPU.
Per informazioni dettagliate sull'attivazione della ridondanza non a livello di zona, consulta Configurare un job Cloud Run con GPU.
Richiedi un aumento della quota
Ai progetti che utilizzano le GPU di Cloud Run nvidia-l4 in una regione per la prima volta
vengono automaticamente concesse 3 quote di GPU (ridondanza a livello di zona disattivata) quando viene creato il primo
deployment. La quota per le GPU nvidia-rtx-pro-6000 di Cloud Run
viene concessa in milliGPU. Ai progetti che utilizzano GPU nvidia-rtx-pro-6000 in una regione
per la prima volta viene concessa automaticamente una quota di 3000 milliGPU
(ridondanza zonale disattivata) quando viene creato il primo deployment. Equivale a 3 GPU.
Tieni presente che questa concessione automatica di quota è soggetta a disponibilità a seconda della capacità di CPU e memoria. In questo modo si limita il conteggio delle GPU che potrebbero essere attive in tutti i servizi, i job e i pool di worker del progetto in un determinato momento.
Se hai bisogno di GPU Cloud Run aggiuntive per i job, richiedi un aumento della quota.
Prima di iniziare
Il seguente elenco descrive i requisiti e le limitazioni per l'utilizzo delle GPU in Cloud Run:
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Abilitare l'API Cloud Run.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.- Consulta Best practice: job Cloud Run con GPU per ottimizzare le prestazioni quando utilizzi i job Cloud Run con la GPU.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare i job Cloud Run, chiedi all'amministratore di concederti i seguenti ruoli IAM per i job:
-
Cloud Run Developer (
roles/run.developer): il job Cloud Run -
Service Account User (
roles/iam.serviceAccountUser) - l'identità di servizio
Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il tuo job Cloud Run interagisce con le APIGoogle Cloud , come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per saperne di più sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestisci l'accesso.
Configura un job Cloud Run per utilizzare le GPU
Puoi utilizzare la console Google Cloud , Google Cloud CLI o YAML per configurare la GPU.
Console
Nella console Google Cloud , vai alla pagina Job di Cloud Run:
Fai clic su Esegui il deployment del container per compilare la pagina delle impostazioni iniziali del job. Se stai configurando un job esistente, seleziona il job, quindi fai clic su Visualizza e modifica la configurazione del job.
Fai clic su Container, connessioni, sicurezza per espandere la pagina delle proprietà del job.
Fai clic sulla scheda Contenitore.
- Configura CPU, memoria e probe di avvio seguendo i consigli riportati in Prima di iniziare.
- Seleziona la casella di controllo GPU. Poi seleziona il tipo di GPU dal menu Tipo di GPU e il numero di GPU dal menu Numero di GPU.
Fai clic su Crea o Aggiorna.
gcloud
Per attivare la ridondanza non zonale, devi specificare
--no-gpu-zonal-redundancy. Questo passaggio è necessario per utilizzare la GPU con i job.
Per creare un job con le GPU abilitate, utilizza il comando gcloud run jobs create:
gcloud run jobs create JOB_NAME \ --image=IMAGE \ --gpu=1 \ --no-gpu-zonal-redundancy
Sostituisci quanto segue:
- JOB_NAME: il nome del job Cloud Run.
- IMAGE_URL: un riferimento all'immagine container, ad esempio
us-docker.pkg.dev/cloudrun/container/job:latest.
Per aggiornare la configurazione della GPU per un job, utilizza il comando gcloud run jobs update:
gcloud run jobs update JOB_NAME \ --image IMAGE_URL \ --cpu CPU \ --memory MEMORY \ --gpu GPU_NUMBER \ --gpu-type GPU_TYPE \ --parallelism PARALLELISM \ --no-gpu-zonal-redundancy
Sostituisci quanto segue:
- JOB_NAME: il nome del job Cloud Run.
- IMAGE_URL: un riferimento all'immagine container, ad esempio
us-docker.pkg.dev/cloudrun/container/job:latest. - CPU: il numero di CPU. Per la GPU L4, devi specificare almeno
4CPU. Per la GPU NVIDIA RTX PRO 6000 Blackwell, devi specificare almeno20CPU. - MEMORY: la quantità di memoria. Per la GPU L4, devi specificare almeno
16Gi(16 GiB). Per la GPU NVIDIA RTX PRO 6000 Blackwell, devi specificare almeno80Gi(80 GiB). - GPU_NUMBER: il valore
1(uno). Se non è specificato, ma è presente un GPU_TYPE, il valore predefinito è1. - GPU_TYPE: il tipo di GPU. Per la GPU L4, inserisci il valore
nvidia-l4(nvidia-L4 L minuscola, non il valore numerico quattordici). GPU NVIDIA RTX PRO 6000 Blackwell, inseriscinvidia-rtx-pro-6000. - PARALLELISM: un valore intero inferiore al valore più basso dei limiti di quota applicabili che hai allocato per il tuo progetto.
YAML
Devi impostare l'annotazione run.googleapis.com/gpu-zonal-redundancy-disabled: su "true". In questo modo viene abilitata la ridondanza non a livello di zona, necessaria per le GPU per i job.
Se stai creando un nuovo job, salta questo passaggio. Se stai aggiornando un job esistente, scarica la relativa configurazione YAML:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Aggiorna l'attributo
nvidia.com/gpu,annotations: run.googleapis.com/launch-stageper la fase di lancio enodeSelector::
run.googleapis.com/acceleratorapiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB_NAME labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/gpu-zonal-redundancy-disabled: 'true' spec: template: spec: containers: - image: IMAGE_URL limits: cpu: 'CPU' memory: 'MEMORY' nvidia.com/gpu: 'GPU_NUMBER' nodeSelector: run.googleapis.com/accelerator: GPU_TYPE
Sostituisci quanto segue:
- JOB_NAME: il nome del job Cloud Run.
- IMAGE_URL: un riferimento all'immagine container, ad esempio
us-docker.pkg.dev/cloudrun/container/job:latest - CPU: il numero di CPU. Per la GPU L4, devi specificare almeno
4CPU. Per la GPU NVIDIA RTX PRO 6000 Blackwell, devi specificare almeno20CPU. - MEMORY: la quantità di memoria. Per la GPU L4, devi specificare almeno
16Gi(16 GiB). Per la GPU NVIDIA RTX PRO 6000 Blackwell, devi specificare almeno80Gi(80 GiB). - GPU_NUMBER: il valore
1(uno) perché supportiamo solo l'attacco di una GPU per istanza Cloud Run. - GPU_TYPE: il tipo di GPU. Per la GPU L4, inserisci il valore
nvidia-l4(nvidia-L4 L minuscola, non il valore numerico quattordici). GPU NVIDIA RTX PRO 6000 Blackwell, inseriscinvidia-rtx-pro-6000.
Crea o aggiorna il job utilizzando il seguente comando:
gcloud run jobs replace job.yaml
Visualizzare le impostazioni della GPU
Per visualizzare le impostazioni GPU attuali per il tuo job Cloud Run:
Console
Nella console Google Cloud , vai alla pagina Cloud Run Jobs:
Fai clic sull'offerta di lavoro che ti interessa per aprire la pagina Dettagli offerta di lavoro.
Fai clic su Visualizza e modifica la configurazione del job.
Individua l'impostazione della GPU nei dettagli della configurazione.
gcloud
Utilizza il seguente comando:
gcloud run jobs describe JOB_NAME
Individua l'impostazione della GPU nella configurazione restituita.
Scollega le risorse GPU da un job
Puoi scollegare le risorse GPU da un job utilizzando la console Google Cloud , Google Cloud CLI o YAML.
Console
Nella console Google Cloud , vai alla pagina Job di Cloud Run:
Nell'elenco dei job, fai clic su un job per aprirne i dettagli.
Fai clic su Visualizza e modifica la configurazione del job.
Fai clic su Container, connessioni, sicurezza per espandere la pagina delle proprietà del job.
Fai clic sulla scheda Contenitore.
- Deseleziona la casella di controllo GPU.
Fai clic su Aggiorna.
gcloud
Per scollegare le risorse GPU dal job Cloud Run, imposta il numero di GPU su 0 utilizzando il comando
gcloud run jobs update:
gcloud run jobs update JOB_NAME --gpu 0
Sostituisci JOB_NAME con il nome del tuo job Cloud Run.
YAML
Se stai creando un nuovo job, salta questo passaggio. Se stai aggiornando un job esistente, scarica la relativa configurazione YAML:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Elimina le righe
nvidia.com/gpu:,run.googleapis.com/gpu-zonal-redundancy-disabled: 'true'enodeSelector: run.googleapis.com/accelerator: GPU_TYPE.Crea o aggiorna il job utilizzando il seguente comando:
gcloud run jobs replace job.yaml
Librerie dei driver
Per impostazione predefinita, tutte le librerie dei driver GPU NVIDIA L4 e NVIDIA RTX PRO 6000 Blackwell
sono montate in /usr/local/nvidia/lib64. Cloud Run aggiunge automaticamente questo percorso alla variabile di ambiente LD_LIBRARY_PATH (ovvero ${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64) del container con la GPU. In questo modo, il linker dinamico può trovare le librerie dei driver NVIDIA. Il
linker cerca e risolve i percorsi nell'ordine in cui li elenchi nella variabile di ambiente LD_LIBRARY_PATH. I valori specificati in questa variabile hanno la precedenza
sul percorso predefinito delle librerie del driver Cloud Run /usr/local/nvidia/lib64.
Se vuoi utilizzare una versione di CUDA superiore alla 12.2,
il modo più semplice è fare affidamento a un'immagine di base NVIDIA più recente
con i pacchetti di compatibilità avanzata già installati. Un'altra opzione è
installare manualmente i pacchetti di compatibilità futura di NVIDIA
e aggiungerli a LD_LIBRARY_PATH. Consulta la matrice di compatibilità di NVIDIA
per determinare quali versioni di CUDA sono compatibili con la versione del driver NVIDIA fornita.
Informazioni su GPU e parallelismo
Se esegui attività parallele in un'esecuzione di job, determina e imposta il valore di parallelismo su un valore inferiore alla quota di GPU senza ridondanza a livello di zona allocata per il tuo progetto. Per richiedere un aumento della quota, vedi Come aumentare la quota. I task GPU vengono avviati il più rapidamente possibile e raggiungono un massimo che varia a seconda della quota di GPU allocata per il progetto e la regione selezionati. I deployment di Cloud Run non riescono se imposti il parallelismo su un valore superiore al limite di quota GPU.
Per calcolare la quota GPU
utilizzata dal job per esecuzione, moltiplica il numero di GPU per attività del job
per il valore di parallelismo. Ad esempio, se hai una quota di GPU di 10 e
deploy il job Cloud Run con --gpu=1, --parallelism=10, il tuo
job consuma tutta la quota di 10 GPU. In alternativa, se esegui il deployment con --gpu=1, --parallelism=20, i deployment non vanno a buon fine.
Per saperne di più, consulta Best practice: job Cloud Run con GPU.
Passaggi successivi
Per i tutorial, consulta Esegui l'inferenza AI su Cloud Run con GPU.