Cette page décrit la configuration des GPU pour vos services Cloud Run. Les GPU fonctionnent bien pour les charges de travail d'inférence de l'IA, telles que les grands modèles de langage (LLM), ou les cas d'utilisation sans IA qui requièrent de nombreux calculs, comme le transcodage de vidéos et le rendu 3D. Google fournit des GPU NVIDIA L4 avec 24 Go de mémoire GPU (VRAM) et des GPU NVIDIA RTX PRO 6000 Blackwell (preview) avec 96 Go de mémoire GPU (VRAM), qui est séparée de la mémoire de l'instance.
La fonctionnalité GPU sur Cloud Run est entièrement gérée, sans nécessiter de pilotes ni de bibliothèques supplémentaires. La fonctionnalité de GPU offre une disponibilité à la demande sans réservation, comme le fonctionnement du processeur et de la mémoire à la demande dans Cloud Run. Les instances d'un service Cloud Run configuré pour utiliser un GPU peuvent être réduites à zéro pour réduire les coûts lorsqu'elles ne sont pas utilisées.
Les instances Cloud Run avec un GPU L4 ou NVIDIA RTX PRO 6000 Blackwell associé et des pilotes préinstallés démarrent en cinq secondes environ. Les processus exécutés dans votre conteneur peuvent alors commencer à utiliser le GPU.
Vous pouvez configurer un GPU par instance Cloud Run. Si vous utilisez des conteneurs side-car, notez que le GPU ne peut être associé qu'à un seul conteneur.
Types de GPU compatibles
Cloud Run accepte deux types de GPU :
- GPU L4 avec la version actuelle du pilote NVIDIA : 535.216.03 (12.2). Pour les GPU L4, vous devez utiliser au moins quatre processeurs et 16 Gio de mémoire.
- GPU NVIDIA RTX PRO 6000 Blackwell avec la version actuelle du pilote NVIDIA : 580.x.x (13.0) (preview). Pour le GPU NVIDIA RTX PRO 6000 Blackwell, vous devez utiliser au moins 20 processeurs et 80 Gio de mémoire.
Régions où le service est disponible
Les régions suivantes sont compatibles avec le GPU L4 :
asia-southeast1(Singapour)asia-south1(Mumbai) . Cette région n'est disponible que sur invitation. Contactez l'équipe chargée de votre compte Google si vous êtes intéressé par cette région.europe-west1(Belgique)Faibles émissions de CO2
europe-west4(Pays-Bas)Faibles émissions de CO2
us-central1(Iowa)Faibles émissions de CO2 . Cette région n'est disponible que sur invitation. Contactez l'équipe chargée de votre compte Google si vous êtes intéressé par cette région.
us-east4(Virginie du Nord)
Les régions suivantes sont compatibles avec le GPU NVIDIA RTX PRO 6000 Blackwell (aperçu) :
asia-southeast1(Singapour). Cette région n'est disponible que sur invitation. Contactez l'équipe chargée de votre compte Google si vous êtes intéressé par cette région.asia-south2(Delhi, Inde). Cette région n'est disponible que sur invitation. Contactez l'équipe chargée de votre compte Google si vous êtes intéressé par cette région.europe-west4(Pays-Bas)Faibles émissions de CO2
us-central1(Iowa)Faibles émissions de CO2
Impact sur les tarifs
Pour en savoir plus sur les tarifs des GPU, consultez Tarifs de Cloud Run. Notez les exigences et considérations suivantes :
- Aucuns frais par requête ne sont appliqués. Vous devez utiliser la facturation basée sur les instances pour utiliser la fonctionnalité GPU. Les instances minimales sont facturées au tarif plein, même lorsqu'elles sont inactives.
- Le coût de la redondance zonale des GPU est différent de celui de la redondance non zonale. Pour en savoir plus sur les tarifs des GPU, consultez Tarifs de Cloud Run.
- Lorsque vous déployez un service ou une fonction Cloud Run à partir d'un code source avec des GPU activés, Cloud Run utilise le type de machine
e2-highcpu-8au lieu du type de machinee2-standard-2par défaut pour compiler votre code source. Le type de machine plus grand offre une meilleure prise en charge du processeur et une bande passante réseau plus élevée, ce qui permet de réduire les temps de compilation. - Configurations de processeur et de mémoire de votre ressource.
- Le GPU est facturé pendant toute la durée de vie de l'instance.
Options de redondance zonale des GPU
Par défaut, Cloud Run déploie votre service dans plusieurs zones d'une même région. Cette architecture offre une résilience inhérente : si une zone subit une panne, Cloud Run redirige automatiquement le trafic de la zone concernée vers les zones opérationnelles de la même région.
Lorsque vous travaillez avec des ressources GPU, gardez à l'esprit qu'elles sont soumises à des contraintes de capacité spécifiques. En cas d'indisponibilité d'une zone, le mécanisme de basculement standard pour les charges de travail GPU repose sur la disponibilité d'une capacité GPU inutilisée suffisante dans les zones opérationnelles restantes. En raison de la nature limitée des GPU, cette capacité peut ne pas toujours être disponible.
Pour augmenter la disponibilité de vos services accélérés par GPU en cas de pannes zonales, vous pouvez configurer la redondance zonale spécifiquement pour les GPU :
Redondance zonale activée (par défaut) : Cloud Run réserve une capacité de GPU pour votre service dans plusieurs zones. Cela augmente considérablement la probabilité que votre service puisse gérer le trafic redirigé depuis une zone concernée, offrant une fiabilité accrue en cas de défaillance zonale avec un coût supplémentaire par seconde et par GPU.
Redondance zonale désactivée : Cloud Run tente d'effectuer un basculement pour les charges de travail GPU de la manière la plus optimale possible. Le trafic n'est acheminé vers d'autres zones que si une capacité de GPU suffisante est disponible à ce moment-là. Cette option ne garantit pas la capacité réservée pour les scénarios de basculement, mais entraîne un coût par seconde et par GPU inférieur.
Contrat de niveau de service
Le SLA pour Cloud Run avec GPU dépend de l'option de redondance zonale ou non zonale utilisée par le service. Pour en savoir plus, consultez la page SLA.
Demander une augmentation du quota
Les projets qui utilisent des GPU nvidia-l4 Cloud Run dans une région pour la première fois se voient automatiquement attribuer un quota de trois GPU (redondance zonale désactivée) lors de la création du premier déploiement. Le quota pour les GPU Cloud Run nvidia-rtx-pro-6000 est accordé en milliGPU. Les projets qui utilisent un GPU nvidia-rtx-pro-6000 dans une région pour la première fois se verront automatiquement attribuer un quota de 3 000 milliGPU (redondance zonale désactivée) lors de la création du premier déploiement. Cela équivaut à trois GPU.
Si vous avez besoin de GPU Cloud Run supplémentaires, vous devez demander une augmentation de quota pour votre service Cloud Run. Utilisez les liens fournis dans les boutons suivants pour demander le quota dont vous avez besoin.
| Quota nécessaire | Lien vers le quota |
|---|---|
| GPU L4 avec redondance zonale désactivée (prix inférieur) | Demander un quota de GPU sans redondance zonale |
| GPU L4 avec redondance zonale activée (prix plus élevé) | Demander un quota de GPU avec redondance zonale |
| GPU NVIDIA RTX PRO 6000 Blackwell avec redondance zonale désactivée (prix plus bas) | Demander un quota de GPU sans redondance zonale |
| GPU NVIDIA RTX PRO 6000 Blackwell avec redondance zonale activée (prix plus élevé) | Demander un quota de GPU avec redondance zonale |
Pour savoir comment demander une augmentation de quota, consultez Augmenter le quota.
Avant de commencer
La liste suivante décrit les exigences et les limites liées à l'utilisation des GPU dans Cloud Run :
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
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.
-
Activer l'API Cloud Run
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles. - Demandez le quota requis.
- Consultez les bonnes pratiques : inférence de l'IA sur Cloud Run avec des GPU pour obtenir des recommandations sur la création de votre image de conteneur et le chargement de modèles volumineux.
- Assurez-vous que votre service Cloud Run présente les configurations suivantes :
- Configurez les paramètres de facturation pour la facturation basée sur les instances. Notez que les services pour lesquels la facturation basée sur les instances a été définie peuvent toujours être ramenés à zéro instance.
- Pour le GPU L4, configurez un minimum de 4 processeurs pour votre service (8 processeurs recommandés) et un minimum de 16 Gio de mémoire (32 Gio recommandés).
- Pour le GPU NVIDIA RTX PRO 6000 Blackwell, configurez au moins 20 processeurs et 80 Gio de mémoire.
- Déterminez et définissez une concurrence maximale optimale pour votre utilisation du GPU.
- Le nombre maximal d'instances doit être inférieur au quota autorisé par projet et par région pour les GPU. Consultez À propos des GPU et du nombre maximal d'instances.
Rôles requis
Pour obtenir les autorisations nécessaires pour configurer et déployer des services Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants sur les services :
-
Développeur Cloud Run (
roles/run.developer) : service Cloud Run - Utilisateur du compte de service (
roles/iam.serviceAccountUser) : l'identité du service
Si vous déployez un service ou une fonction à partir du code source, vous devez également disposer de rôles supplémentaires dans votre projet et votre compte de service Cloud Build.
Pour obtenir la liste des rôles et des autorisations IAM associés à Cloud Run, consultez les sections Rôles IAM Cloud Run et Autorisations IAM Cloud Run. Si votre service Cloud Run communique avec des APIGoogle Cloud , telles que les bibliothèques clientes Cloud, consultez le guide de configuration de l'identité du service. Pour en savoir plus sur l'attribution de rôles, consultez les pages Autorisations de déploiement et Gérer les accès.
Configurer un service Cloud Run avec un GPU
Tout changement de configuration entraîne la création d'une révision. Les révisions ultérieures obtiennent aussi automatiquement le même paramètre de configuration, à moins que vous ne le mettiez explicitement à jour.
Vous pouvez utiliser la console Google Cloud , Google Cloud CLI ou YAML pour configurer des GPU.
Console
Dans la console Google Cloud , accédez à Cloud Run :
Sélectionnez Services dans le menu de navigation Cloud Run, puis cliquez sur Déployer un conteneur pour configurer un nouveau service. Si vous configurez un service existant, cliquez sur celui-ci puis sur Modifier et déployer la nouvelle révision.
Si vous configurez un nouveau service, remplissez la page initiale des paramètres du service, puis cliquez sur Conteneur(s), volumes, mise en réseau et sécurité pour développer la page de configuration du service.
Cliquez sur l'onglet Conteneur.
- Configurez le processeur, la mémoire, la simultanéité, l'environnement d'exécution et la sonde de démarrage en suivant les recommandations de la section Avant de commencer.
- Cochez la case "GPU", puis sélectionnez le type de GPU dans le menu Type de GPU et le nombre de GPU dans le menu Nombre de GPU.
- La redondance zonale est activée par défaut pour les nouveaux services. Pour modifier le paramètre actuel, cochez la case GPU afin d'afficher les options de redondance du GPU.
- Sélectionnez Aucune redondance zonale pour désactiver la redondance zonale.
- Sélectionnez Redondance de zones pour l'activer.
Cliquez sur Créer ou Déployer.
gcloud
Pour créer un service avec la fonctionnalité GPU activée, utilisez la commande gcloud run deploy :
Pour déployer un conteneur, procédez comme suit :
gcloud run deploy SERVICE \ --image IMAGE_URL \ --gpu 1
Remplacez les éléments suivants :
- SERVICE : nom de votre service Cloud Run.
- IMAGE_URL : référence à l'image de conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest. Si vous utilisez Artifact Registry, le dépôt REPO_NAME doit déjà être créé. L'URL est au formatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
Pour effectuer un déploiement à partir du code source, procédez comme suit :
gcloud run deploy SERVICE \ --source . \ --gpu 1
Pour mettre à jour la configuration GPU d'un service, utilisez la commande gcloud run services update. Par exemple, pour mettre à jour un service existant qui spécifie une image de conteneur :
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
Remplacez les éléments suivants :
- SERVICE : nom de votre service Cloud Run.
- IMAGE_URL : référence à l'image de conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest. Si vous utilisez Artifact Registry, le dépôt REPO_NAME doit déjà être créé. L'URL est au formatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - CPU : nombre de processeurs. Pour les GPU L4, vous devez spécifier au moins
4processeurs. Pour le GPU NVIDIA RTX PRO 6000 Blackwell, vous devez spécifier au moins20processeurs. - MEMORY : quantité de mémoire. Pour les GPU L4, vous devez spécifier au moins
16Gi(16 Gio). Pour le GPU NVIDIA RTX PRO 6000 Blackwell, vous devez spécifier au moins80Gi(80 Gio). - GPU_NUMBER : valeur
1(un). Si cette valeur n'est pas spécifiée, mais qu'un paramètre GPU_TYPE est présent, la valeur par défaut est1. - GPU_TYPE : type de GPU. Pour le GPU L4, saisissez la valeur
nvidia-l4(nvidia-L4 L minuscule, et non la valeur numérique quatorze). NVIDIA RTX PRO 6000 Blackwell GPU, saisisseznvidia-rtx-pro-6000. - MAX_INSTANCE : nombre maximal d'instances. Ce nombre ne peut pas dépasser le quota de GPU alloué à votre projet.
- GPU_ZONAL_REDUNDANCY :
no-gpu-zonal-redundancypour désactiver la redondance zonale ougpu-zonal-redundancypour l'activer.
YAML
Si vous créez un service, ignorez cette étape. Si vous mettez à jour un service existant, téléchargez sa configuration YAML :
gcloud run services describe SERVICE --format export > service.yaml
Modifiez l'attribut
nvidia.com/gpu:etnodeSelector::
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
Remplacez les éléments suivants :
- SERVICE : nom de votre service Cloud Run.
- IMAGE_URL : référence à l'image de conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest. Si vous utilisez Artifact Registry, le dépôt REPO_NAME doit déjà être créé. L'URL est au formatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - CONTAINER_PORT : port de conteneur défini pour votre service.
- CPU : nombre de processeurs. Pour les GPU L4, vous devez spécifier au moins
4processeurs. Pour le GPU NVIDIA RTX PRO 6000 Blackwell, vous devez spécifier au moins20processeurs. - MEMORY : quantité de mémoire. Pour les GPU L4, vous devez spécifier au moins
16Gi(16 Gio). Pour le GPU NVIDIA RTX PRO 6000 Blackwell, vous devez spécifier au moins80Gi(80 Gio). - GPU_TYPE : type de GPU. Pour le GPU L4, saisissez la valeur
nvidia-l4(nvidia-L4 L minuscule, et non la valeur numérique quatorze). NVIDIA RTX PRO 6000 Blackwell GPU, saisisseznvidia-rtx-pro-6000. - MAX_INSTANCE : nombre maximal d'instances. Ce nombre ne peut pas dépasser le quota de GPU alloué à votre projet.
- GPU_ZONAL_REDUNDANCY :
falsepour activer la redondance zonale des GPU outruepour la désactiver.
Créez ou mettez à jour le service à l'aide de la commande suivante :
gcloud run services replace service.yaml
Terraform
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
Ajoutez les éléments suivants à une ressourcegoogle_cloud_run_v2_service dans votre configuration 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"
}
}
}
Remplacez les éléments suivants :
- SERVICE : nom de votre service Cloud Run.
- GPU_ZONAL_REDUNDANCY :
falsepour activer la redondance zonale des GPU outruepour la désactiver. - IMAGE_URL : référence à l'image de conteneur, par exemple
us-docker.pkg.dev/cloudrun/container/hello:latest. Si vous utilisez Artifact Registry, le dépôt REPO_NAME doit déjà être créé. L'URL est au formatLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG. - CPU : nombre de processeurs. Pour les GPU L4, vous devez spécifier au moins
4processeurs. Pour le GPU NVIDIA RTX PRO 6000 Blackwell, vous devez spécifier au moins20processeurs. - MEMORY : quantité de mémoire. Pour les GPU L4, vous devez spécifier au moins
16Gi(16 Gio). Pour le GPU NVIDIA RTX PRO 6000 Blackwell, vous devez spécifier au moins80Gi(80 Gio). - GPU_TYPE : type de GPU. Pour le GPU L4, saisissez la valeur
nvidia-l4(nvidia-L4 L minuscule, et non la valeur numérique quatorze). Pour le GPU NVIDIA RTX PRO 6000 Blackwell, saisisseznvidia-rtx-pro-6000.
Afficher les paramètres de GPU
Pour afficher les paramètres actuels de GPU de votre service Cloud Run, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Services de Cloud Run :
Cliquez sur le service qui vous intéresse pour ouvrir la page Informations sur le service.
Cliquez sur l'onglet Révisions.
Dans le panneau de détails sur la droite, le paramètre de processeur est répertorié sous l'onglet Conteneur.
gcloud
Exécutez la commande suivante :
gcloud run services describe SERVICE
Recherchez le paramètre de GPU dans la configuration renvoyée.
Supprimer un GPU
Vous pouvez supprimer un GPU à l'aide de la console Google Cloud , de la Google Cloud CLI ou de YAML.
Console
Dans la console Google Cloud , accédez à Cloud Run :
Sélectionnez Services dans le menu de navigation Cloud Run, puis cliquez sur Déployer un conteneur pour configurer un nouveau service. Si vous configurez un service existant, cliquez sur celui-ci puis sur Modifier et déployer la nouvelle révision.
Si vous configurez un nouveau service, remplissez la page initiale des paramètres du service, puis cliquez sur Conteneur(s), volumes, mise en réseau et sécurité pour développer la page de configuration du service.
Cliquez sur l'onglet Conteneur.
- Décochez la case "GPU".
Cliquez sur Créer ou Déployer.
gcloud
Pour supprimer le GPU, définissez le nombre de GPU sur 0 à l'aide de la commande gcloud run services update :
gcloud run services update SERVICE --gpu 0
Remplacez SERVICE par le nom de votre service Cloud Run.
YAML
Si vous créez un service, ignorez cette étape. Si vous mettez à jour un service existant, téléchargez sa configuration YAML :
gcloud run services describe SERVICE --format export > service.yaml
Supprimez les lignes
nvidia.com/gpu:etnodeSelector: run.googleapis.com/accelerator: GPU_TYPE.Créez ou mettez à jour le service à l'aide de la commande suivante :
gcloud run services replace service.yaml
Bibliothèques de pilotes
Par défaut, toutes les bibliothèques de pilotes de GPU NVIDIA L4 et NVIDIA RTX PRO 6000 Blackwell sont installées sous /usr/local/nvidia/lib64. Cloud Run ajoute automatiquement ce chemin d'accès à la variable d'environnement LD_LIBRARY_PATH (c'est-à-dire ${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64) du conteneur avec le GPU. Cela permet à l'éditeur de lien dynamique de trouver les bibliothèques de pilotes NVIDIA. L'éditeur de liens recherche et résout les chemins dans l'ordre dans lequel vous les listez dans la variable d'environnement LD_LIBRARY_PATH. Toutes les valeurs que vous spécifiez dans cette variable sont prioritaires par rapport au chemin d'accès par défaut des bibliothèques de pilotes Cloud Run /usr/local/nvidia/lib64.
Si vous souhaitez utiliser une version de CUDA supérieure à 12.2, la méthode la plus simple consiste à dépendre d'une image de base NVIDIA plus récente avec les packages de compatibilité ascendante déjà installés. Vous pouvez également installer manuellement les packages de compatibilité ascendante NVIDIA et les ajouter à LD_LIBRARY_PATH. Consultez la matrice de compatibilité de NVIDIA pour déterminer quelles versions de CUDA sont compatibles de manière ascendante avec la version du pilote NVIDIA fournie.
À propos des GPU et du nombre maximal d'instances
Le nombre d'instances avec GPU est limité de deux manières :
- Le paramètre Nombre maximal d'instances limite le nombre d'instances par service. Cette valeur ne peut pas être supérieure au quota de GPU par projet et par région.
- Quota de GPU autorisés par projet et par région. Cela limite le nombre d'instances entre les services dans la même région.
Étapes suivantes
Pour obtenir des tutoriels, consultez Exécuter l'inférence de l'IA sur Cloud Run avec des GPU.