In questa pagina viene descritta la configurazione delle GPU per i servizi Cloud Run. Le GPU funzionano bene per i workload di inferenza AI, come i modelli linguistici di grandi dimensioni (LLM) o altri casi d'uso non AI ad alta intensità di calcolo, come la transcodifica video e il rendering 3D. Google fornisce GPU NVIDIA RTX PRO 6000 Blackwell con 96 GB di memoria GPU (VRAM) e 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 richiede driver o librerie aggiuntivi. La funzionalità GPU offre disponibilità on demand senza necessità di prenotazioni, analogamente al funzionamento della CPU on demand e della memoria on demand in Cloud Run. Le istanze di un servizio Cloud Run configurato per l'utilizzo della GPU possono fare lo scale down fino a zero per risparmiare sui costi quando non sono in uso.
Le istanze Cloud Run con una GPU NVIDIA RTX PRO 6000 Blackwell o una GPU L4 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 NVIDIA RTX PRO 6000 Blackwell con la versione attuale 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 attuale del driver NVIDIA: 580.x.x (13.0). 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)Bassi livelli di CO2
us-central1(Iowa)Bassi livelli 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)Bassi livelli di CO2
europe-west4(Paesi Bassi)Bassi livelli di CO2
us-central1(Iowa)Bassi livelli di CO2 . La scalabilità di risorse aggiuntive in questa regione potrebbe richiedere una richiesta di aumento della quota. Contatta il team degli Account Google se ti interessa questa regione.
us-east4(Virginia del Nord) . La scalabilità di risorse aggiuntive in questa regione potrebbe richiedere una richiesta di aumento della quota. Contatta il team degli Account Google se ti interessa questa regione.
Impatto sui prezzi
Consulta i prezzi di Cloud Run per i dettagli sui prezzi delle GPU. Tieni presente i seguenti requisiti e considerazioni:
- Non sono previste commissioni per richiesta. Per utilizzare la funzionalità GPU, devi utilizzare la fatturazione basata sulle istanze. Le istanze minime vengono addebitate alla tariffa intera anche se sono inattive.
- Esiste una differenza di costo tra la ridondanza delle GPU a livello di zona e quella non a livello di zona. Per i dettagli sui prezzi delle GPU, consulta Prezzi di Cloud Run.
- Quando esegui il deployment di un servizio o di una funzione Cloud Run dal codice sorgente con le GPU abilitate, Cloud Run utilizza il tipo di macchina
e2-highcpu-8, anziché il tipo di macchinae2-standard-2predefinito per creare il codice sorgente. Il tipo di macchina più grande fornisce un supporto della CPU più elevato e una larghezza di banda di rete maggiore, il che si traduce in tempi di build più rapidi. - Le configurazioni di CPU e memoria della risorsa.
- La GPU viene fatturata per l'intera durata del ciclo di vita dell'istanza.
Opzioni di ridondanza zonale delle GPU
Per impostazione predefinita, Cloud Run esegue il deployment del servizio in più zone all'interno di una regione. Questa architettura offre una resilienza intrinseca: se si verifica un'interruzione in una zona, Cloud Run indirizza automaticamente il traffico dalla zona interessata alle zone integre all'interno della stessa regione.
Quando utilizzi le risorse GPU, tieni presente che queste hanno vincoli di capacità specifici. Durante un'interruzione di servizio a livello di zona, il meccanismo di failover standard per i workload GPU si basa sulla disponibilità di una capacità GPU inutilizzata sufficiente nelle zone integre rimanenti. A causa della natura limitata delle GPU, questa capacità potrebbe non essere sempre disponibile.
Per aumentare la disponibilità dei servizi con accelerazione GPU durante le interruzioni di servizio nella zona, puoi configurare la ridondanza a livello di zona in modo specifico per le GPU:
Ridondanza a livello di zona attivata (impostazione predefinita): Cloud Run riserva la capacità della GPU per il tuo servizio in più zone. In questo modo, aumenta notevolmente la probabilità che il tuo servizio possa gestire correttamente il traffico reindirizzato da una zona interessata, offrendo una maggiore affidabilità durante gli errori a livello di zona con un costo aggiuntivo per secondo GPU.
Ridondanza a livello di zona disattivata: Cloud Run tenta il failover per i workload GPU sulla base del massimo impegno. Il traffico viene indirizzato ad altre zone solo se in quel momento è disponibile una capacità GPU sufficiente. Questa opzione non garantisce la capacità prenotata per gli scenari di failover, ma comporta un costo inferiore per secondo-GPU.
SLA
Lo SLA per Cloud Run con GPU dipende dall'utilizzo o meno dell'opzione di ridondanza a livello di zona o non a livello di zona da parte del servizio. Per informazioni dettagliate, consulta la pagina dello SLA.
Richiedi un aumento della quota
La quota per la GPU nvidia-rtx-pro-6000 di Cloud Run viene concessa in milliGPU.
Ai progetti che utilizzano la GPU nvidia-rtx-pro-6000 in una regione per la prima volta verrà concessa automaticamente una quota di 3000 milliGPU (ridondanza a livello di zona disattivata) al momento della creazione del primo deployment. Questo equivale a 3 GPU. Ai progetti che utilizzano GPU Cloud Run nvidia-l4 in una regione per la prima volta viene concessa automaticamente una quota di 3 GPU (ridondanza a livello di zona disattivata) al momento della creazione del primo deployment.
Se hai bisogno di GPU Cloud Run aggiuntive, devi richiedere un aumento della quota per il tuo servizio Cloud Run. Utilizza i link forniti nei seguenti pulsanti per richiedere la quota di cui hai bisogno.
| Quota necessaria | Link alla quota |
|---|---|
| GPU NVIDIA RTX PRO 6000 Blackwell con ridondanza di zona disattivata (prezzo più basso) | Richiedi una quota di GPU senza ridondanza a livello di zona |
| GPU NVIDIA RTX PRO 6000 Blackwell con ridondanza di zona attivata (prezzo più alto) | Richiedi una quota di GPU con ridondanza a livello di zona |
| GPU L4 con ridondanza a livello di zona disattivata (prezzo più basso) | Richiedi una quota di GPU senza ridondanza a livello di zona |
| GPU L4 con ridondanza di zona attivata (prezzo più alto) | Richiedi una quota di GPU con ridondanza a livello di zona |
Per saperne di più su come richiedere un aumento della quota, consulta Come aumentare la 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.
Abilita l'API Cloud Run, se non è già abilitata.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.- Richiedi la quota necessaria.
- Consulta le best practice: inferenza AI su Cloud Run con GPU per suggerimenti sulla creazione dell'immagine container e sul caricamento di modelli di grandi dimensioni.
- Assicurati che il servizio Cloud Run abbia le seguenti configurazioni:
- Configura le impostazioni di fatturazione in modo che sia basata sulle istanze. Tieni presente che i servizi impostati sulla fatturazione basata su istanze possono comunque scalare fino a zero.
- Per la GPU NVIDIA RTX PRO 6000 Blackwell, configura un minimo di 20 CPU e un minimo di 80 GiB di memoria.
- Per la GPU L4, configura un minimo di 4 CPU per il tuo servizio, anche se ne consigliamo 8, e un minimo di 16 GiB di memoria, anche se ne consigliamo 32 GiB.
- Determina e imposta un livello massimo di contemporaneità ottimale per l'utilizzo della GPU.
- Il valore Numero massimo di istanze deve essere impostato su un numero inferiore alla quota per progetto per regione per GPU consentita. Consulta Informazioni sulle GPU e sul numero massimo di istanze.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare ed eseguire il deployment di servizi Cloud Run, chiedi all'amministratore di concederti i seguenti ruoli IAM sui servizi:
- Cloud Run Developer (
roles/run.developer) - il servizio Cloud Run - Service Account User (
roles/iam.serviceAccountUser) - l'identità di servizio
Se esegui il deployment di un servizio o di una funzione dal codice sorgente, devi anche disporre di ruoli aggiuntivi concessi al tuo progetto e al account di servizio Cloud Build.
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 servizio 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 servizio Cloud Run con GPU
Qualsiasi modifica alla configurazione porta alla creazione di una nuova revisione. Anche le revisioni successive riceveranno automaticamente questa impostazione di configurazione, a meno che non apporti aggiornamenti espliciti per modificarla.
Puoi utilizzare la console Google Cloud , Google Cloud CLI o YAML per configurare la GPU.
Console
Nella console Google Cloud , vai a Cloud Run:
Seleziona Servizi dal menu di navigazione di Cloud Run:
Se stai configurando un nuovo servizio, fai clic su Esegui il deployment del container e compila la pagina delle impostazioni iniziali del servizio. Quindi fai clic su Container, networking, sicurezza per espandere la pagina di configurazione del servizio.
Se stai configurando un servizio esistente, fai clic sul servizio.
Fai clic sulla scheda Container.
Configura CPU, memoria, contemporaneità, ambiente di esecuzione e probe di avvio seguendo i suggerimenti riportati in Prima di iniziare.
Seleziona la casella di controllo GPU, quindi seleziona Tipo di GPU e Numero di GPU dai rispettivi menu.
Per impostazione predefinita, la ridondanza a livello di zona è attivata per i nuovi servizi. Se selezioni la casella di controllo GPU, vengono visualizzate le opzioni di ridondanza delle GPU.
- Per disattivare la ridondanza a livello di zona, seleziona Nessuna ridondanza a livello di zona.
- Per attivare la ridondanza a livello di zona, seleziona Ridondanza a livello di zona.
Fai clic su Crea per un nuovo servizio. Fai clic su Visualizza differenze e fai di nuovo il deployment, quindi su Esegui il deployment delle modifiche per un servizio esistente.
gcloud
Per creare un servizio con GPU abilitata, utilizza il comando gcloud run deploy:
Per eseguire il deployment di un container:
gcloud run deploy SERVICE \ --image IMAGE_URL \ --gpu 1
Sostituisci quanto segue:
- SERVICE: il nome del servizio Cloud Run.
IMAGE_URL: un riferimento all'immagine container, ad esempious-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già stato creato. L'URL segue il formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
Per eseguire il deployment dal codice sorgente:
gcloud run deploy SERVICE \ --source . \ --gpu 1
Per aggiornare la configurazione della GPU per un servizio, utilizza il comando gcloud run services update. Ad esempio, per aggiornare un servizio esistente che specifica un'immagine container:
gcloud run services update SERVICE \ --image IMAGE_URL \ --cpu CPU \ --memory MEMORY \ --no-cpu-throttling \ --gpu GPU_NUMBER \ --gpu-type GPU_TYPE \ --max-instances MAX_INSTANCE --GPU_ZONAL_REDUNDANCY
Sostituisci quanto segue:
- SERVICE: il nome del servizio Cloud Run.
IMAGE_URL: un riferimento all'immagine container, ad esempious-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già stato creato. L'URL segue il formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.- 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 questo valore non è specificato, ma è presente un GPU_TYPE, il valore predefinito è1. - 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). - MAX_INSTANCE: il numero massimo di istanze. Questo numero non può superare la quota di GPU allocata per il tuo progetto.
- GPU_ZONAL_REDUNDANCY:
no-gpu-zonal-redundancyper disattivare la ridondanza a livello di zona ogpu-zonal-redundancyper attivarla.
YAML
Se stai creando un nuovo servizio, salta questo passaggio. Se stai aggiornando un servizio esistente, scarica la relativa configurazione YAML:
gcloud run services describe SERVICE --format export > service.yaml
Aggiorna l'attributo
nvidia.com/gpu:enodeSelector::
run.googleapis.com/accelerator:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: autoscaling.knative.dev/maxScale: 'MAX_INSTANCE' run.googleapis.com/cpu-throttling: 'false' run.googleapis.com/gpu-zonal-redundancy-disabled: 'GPU_ZONAL_REDUNDANCY' spec: containers: - image: IMAGE_URL ports: - containerPort: CONTAINER_PORT name: http1 resources: limits: cpu: 'CPU' memory: 'MEMORY' nvidia.com/gpu: '1' # Optional: use a longer startup probe to allow long starting containers startupProbe: failureThreshold: 1800 periodSeconds: 1 tcpSocket: port: CONTAINER_PORT timeoutSeconds: 1 nodeSelector: run.googleapis.com/accelerator: GPU_TYPE
Sostituisci quanto segue:
- SERVICE: il nome del servizio Cloud Run.
IMAGE_URL: un riferimento all'immagine container, ad esempious-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già stato creato. L'URL segue il formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.- CONTAINER_PORT: la porta del container impostata per il servizio.
- 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_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). - MAX_INSTANCE: il numero massimo di istanze. Questo numero non può superare la quota di GPU allocata per il tuo progetto.
- GPU_ZONAL_REDUNDANCY:
falseper attivare la ridondanza a livello di zona della GPU otrueper disattivarla.
Crea o aggiorna il servizio utilizzando il seguente comando:
gcloud run services replace service.yaml
Il comando
gcloud run services replaceutilizza per impostazione predefinita il fileservice.yaml, se presente.
Terraform
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Aggiungi quanto segue a una risorsagoogle_cloud_run_v2_service nella configurazione Terraform:resource "google_cloud_run_v2_service" "default" {
provider = google-beta
name = "SERVICE"
location = "europe-west1"
template {
gpu_zonal_redundancy_disabled = "GPU_ZONAL_REDUNDANCY"
containers {
image = "IMAGE_URL"
resources {
limits = {
"cpu" = "CPU"
"memory" = "MEMORY"
"nvidia.com/gpu" = "1"
}
}
}
node_selector {
accelerator = "GPU_TYPE"
}
}
}
Sostituisci quanto segue:
- SERVICE: il nome del servizio Cloud Run.
- GPU_ZONAL_REDUNDANCY:
falseper attivare la ridondanza a livello di zona della GPU otrueper disattivarla. IMAGE_URL: un riferimento all'immagine container, ad esempious-docker.pkg.dev/cloudrun/container/hello:latest. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già stato creato. L'URL segue il formatoLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.- 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_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).
Visualizza le impostazioni della GPU
Per visualizzare le impostazioni attuali della GPU per il tuo servizio Cloud Run:
Console
Nella console Google Cloud , vai alla pagina Servizi di Cloud Run:
Fai clic sul servizio che ti interessa per aprire la pagina Dettagli servizio.
Fai clic sulla scheda Container per visualizzare le impostazioni.
gcloud
Utilizza il seguente comando:
gcloud run services describe SERVICE
Individua l'impostazione della GPU nella configurazione restituita.
Rimuovi GPU
Puoi rimuovere la GPU utilizzando la console Google Cloud , Google Cloud CLI o YAML.
Console
Nella console Google Cloud , vai a Cloud Run:
Seleziona Servizi dal menu di navigazione di Cloud Run:
Se stai configurando un nuovo servizio, fai clic su Esegui il deployment del container e compila la pagina delle impostazioni iniziali del servizio. Quindi fai clic su Container, networking, sicurezza per espandere la pagina di configurazione del servizio.
Se stai configurando un servizio esistente, fai clic sul servizio.
Fai clic sulla scheda Container.
Deseleziona la casella di controllo GPU.
Fai clic su Crea per un nuovo servizio. Fai clic su Visualizza differenze e fai di nuovo il deployment, quindi su Esegui il deployment delle modifiche per un servizio esistente.
gcloud
Per rimuovere la GPU, imposta il numero di GPU su 0 utilizzando il comando gcloud run services update:
gcloud run services update SERVICE --gpu 0
Sostituisci SERVICE con il nome del tuo servizio Cloud Run.
YAML
Se stai creando un nuovo servizio, salta questo passaggio. Se stai aggiornando un servizio esistente, scarica la relativa configurazione YAML:
gcloud run services describe SERVICE --format export > service.yaml
Elimina le righe
nvidia.com/gpu:enodeSelector: run.googleapis.com/accelerator: GPU_TYPE.Crea o aggiorna il servizio utilizzando il seguente comando:
gcloud run services replace service.yaml
Il comando
gcloud run services replaceutilizza per impostazione predefinita il fileservice.yaml, se presente.
Librerie di driver
Per impostazione predefinita, tutte le librerie dei driver delle GPU NVIDIA RTX PRO 6000 Blackwell e NVIDIA L4 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 indicato 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 13.0,
il modo più semplice è fare affidamento su 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 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 la versione del driver NVIDIA fornita.
Informazioni sulle GPU e sul numero massimo di istanze
Il numero di istanze con GPU è limitato in due modi:
- L'impostazione Numero massimo di istanze limita il numero di istanze per servizio. Questo valore non può essere impostato su un valore superiore alla quota di GPU per progetto per regione per GPU.
- La quota di GPU consentite per progetto per regione. In questo modo, viene limitato il numero di istanze tra i servizi nella stessa regione.
Passaggi successivi
Per i tutorial, consulta Esegui l'inferenza AI su Cloud Run con GPU.