Questa pagina descrive la configurazione della GPU per i job Cloud Run. Le GPU sono adatte ai carichi di lavoro AI, come l'addestramento di modelli linguistici di grandi dimensioni (LLM) utilizzando i framework preferiti, l'esecuzione di inferenza batch o offline sugli LLM e la gestione di altre attività a elevato utilizzo di computing come l'elaborazione video e il rendering di grafica come job in background. Google fornisce la GPU NVIDIA RTX PRO 6000 Blackwell con 96 GB di memoria GPU (VRAM) e le GPU NVIDIA L4 con 24 GB di memoria GPU (VRAM), che è separata dalla memoria dell'istanza.
La GPU su Cloud Run è completamente gestita e non sono necessari driver o librerie aggiuntivi. La funzionalità GPU offre disponibilità on demand senza necessità di prenotazioni, in modo simile al funzionamento della CPU on demand e della memoria on demand in Cloud Run.
Le istanze Cloud Run con una GPU NVIDIA RTX PRO 6000 Blackwell o una GPU L4 con driver preinstallati si avviano 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 collaterali, tieni presente che la GPU può essere collegata a un solo container.
Tipi di GPU supportati
Cloud Run supporta due tipi di GPU:
- GPU NVIDIA RTX PRO 6000 Blackwell con la versione corrente del driver NVIDIA: 580.x.x (13.0). Per la GPU NVIDIA RTX PRO 6000 Blackwell, devi utilizzare almeno 20 CPU e 80 GiB di memoria.
- GPU L4 con la versione corrente del driver NVIDIA: 535.x.x (12.2). Per le GPU L4, devi utilizzare almeno 4 CPU e 16 GiB di memoria.
Aree geografiche supportate
Le seguenti regioni sono supportate dalla GPU NVIDIA RTX PRO 6000 Blackwell:
asia-southeast1(Singapore).asia-south2(Delhi, India).europe-west4(Paesi Bassi)Basse emissioni di CO2
us-central1(Iowa)Basse emissioni di CO2
Le seguenti regioni sono supportate dalla GPU L4:
asia-southeast1(Singapore)asia-south1(Mumbai) . Questa regione è disponibile solo su invito. Contatta il team dedicato al tuo Account Google se ti interessa questa regione.europe-west1(Belgio)Basse emissioni di CO2
europe-west4(Paesi Bassi)Basse emissioni di CO2
us-central1(Iowa)Basse emissioni di CO2 . Per scalare ulteriormente le risorse in questa regione potrebbe essere necessario richiedere un aumento della quota. Contatta il team dedicato al tuo Account Google se ti interessa questa regione.
us-east4(Virginia del Nord) . Per scalare ulteriormente le risorse in questa regione potrebbe essere necessario richiedere un aumento della quota. Contatta il team dedicato al tuo Account Google se ti interessa questa regione.
Impatto sui prezzi
Per i dettagli sui prezzi delle GPU, consulta Prezzi di Cloud Run. Tieni presente i seguenti requisiti e considerazioni:
- Le GPU per i job seguono 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 a livello di zona della GPU
La funzionalità Job Cloud Run fornisce il supporto della ridondanza non a livello di zona solo per le istanze con GPU abilitata. Con la ridondanza non a livello di zona abilitata, Cloud Run tenta il failover per i job con GPU abilitata in base al principio del best effort. 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 i dettagli sull'abilitazione della ridondanza non a livello di zona, consulta Configurare un job Cloud Run con GPU.
Richiedi un aumento della quota
La quota per le GPU nvidia-rtx-pro-6000 di Cloud Run viene concessa in milliGPU. Ai progetti che utilizzano le GPU nvidia-rtx-pro-6000 in una regione per la prima volta viene concessa automaticamente una quota di 3000 milliGPU (ridondanza a livello di zona disattivata) quando viene creato il primo deployment. Questo equivale a 3 GPU. Ai progetti che utilizzano le GPU nvidia-l4 di Cloud Run in una regione per la prima volta viene concessa automaticamente una quota di 3 GPU (ridondanza a livello di zona disattivata) quando viene creato il primo deployment.
Tieni presente che questa concessione automatica della quota è soggetta a disponibilità a seconda della capacità di CPU e memoria. Ciò limita il numero di 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 quando si utilizzano le GPU in Cloud Run:
- Accedi al tuo Google Cloud account. 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 carichi di lavoro.
-
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.
Abilita l'API Cloud Run.
Ruoli necessari per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene 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 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 Google Cloud le API, 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 Google Cloud console, Google Cloud CLI o YAML per configurare la GPU.
Console
Nella Google Cloud console, 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, selezionalo, 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 Container.
- Configura CPU, memoria e probe di avvio seguendo le indicazioni riportate in Prima di iniziare.
- Seleziona la casella di controllo GPU. Quindi 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 abilitare la ridondanza non a livello di zona, devi specificare --no-gpu-zonal-redundancy. Questa operazione è necessaria 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 NVIDIA RTX PRO 6000 Blackwell, devi specificare almeno
20CPU. Per la GPU L4, devi specificare almeno4CPU. - MEMORY: la quantità di memoria. Per la GPU NVIDIA RTX PRO 6000 Blackwell, devi specificare almeno
80Gi(80 GiB). Per la GPU L4, devi specificare almeno16Gi(16 GiB). - GPU_NUMBER: il valore
1(uno). Se non viene specificato, ma è presente un GPU_TYPE, il valore predefinito è1. - GPU_TYPE: il tipo di GPU. Per la GPU NVIDIA RTX PRO 6000 Blackwell, inserisci
nvidia-rtx-pro-6000. Per la GPU L4, inserisci il valorenvidia-l4(nvidia-L4, L minuscola, non il valore numerico quattordici). - 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 NVIDIA RTX PRO 6000 Blackwell, devi specificare almeno
20CPU. Per la GPU L4, devi specificare almeno4CPU. - MEMORY: la quantità di memoria. Per la GPU NVIDIA RTX PRO 6000 Blackwell, devi specificare almeno
80Gi(80 GiB). Per la GPU L4, devi specificare almeno16Gi(16 GiB). - GPU_NUMBER: il valore
1(uno) perché supportiamo il collegamento di una sola GPU per istanza Cloud Run. - GPU_TYPE: il tipo di GPU. GPU NVIDIA RTX PRO 6000 Blackwell, inserisci
nvidia-rtx-pro-6000. Per la GPU L4, inserisci il valorenvidia-l4(nvidia-L4, L minuscola, non il valore numerico quattordici).
Crea o aggiorna il job utilizzando il seguente comando:
gcloud run jobs replace job.yaml
Visualizza le impostazioni della GPU
Per visualizzare le impostazioni della GPU correnti per il job Cloud Run:
Console
Nella Google Cloud console, vai alla pagina dei job Cloud Run:
Fai clic sul job che ti interessa per aprire la pagina Dettagli job.
Fai clic su Visualizza e modifica la configurazione del job.
Individua l'impostazione della GPU nei dettagli di 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 Google Cloud console, Google Cloud CLI o YAML.
Console
Nella Google Cloud console, 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 Container.
- 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 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 della GPU NVIDIA RTX PRO 6000 Blackwell e della GPU NVIDIA L4 sono montate in /usr/local/nvidia/lib64. Cloud Run aggiunge automaticamente
questo percorso alla variabile di ambiente LD_LIBRARY_PATH(ad es. ${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 dei driver di Cloud Run /usr/local/nvidia/lib64.
Se vuoi utilizzare una versione di CUDA successiva alla 12.2,
il modo più semplice è dipendere da un'immagine di base NVIDIA più recente
con i pacchetti di compatibilità con le versioni successive già installati. Un'altra opzione è
installare manualmente i pacchetti di compatibilità con le versioni successive di NVIDIA
e aggiungerli a LD_LIBRARY_PATH. Consulta la matrice di compatibilità di NVIDIA
per determinare quali versioni di CUDA sono compatibili con le versioni successive del driver NVIDIA
fornito.
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, consulta Come aumentare la quota. Le attività GPU iniziano il più rapidamente possibile e raggiungono un massimo che varia a seconda della quota di GPU allocata per il progetto e della regione selezionata. I deployment di Cloud Run non riescono se imposti il parallelismo su un valore superiore al limite della quota di GPU.
Per calcolare la quota di 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 ed esegui il deployment del job Cloud Run con --gpu=1, --parallelism=10, il job consuma tutte le 10 quote di GPU. In alternativa, se esegui il deployment con --gpu=1, --parallelism=20, i deployment non riescono.
Per ulteriori informazioni, consulta Best practice: job Cloud Run con GPU.
Passaggi successivi
Per i tutorial, consulta Eseguire l'inferenza AI su Cloud Run con GPU.