En esta página, se describe la configuración de GPU para tus trabajos de Cloud Run. Las GPUs funcionan bien para cargas de trabajo de IA, como el entrenamiento de modelos de lenguaje grandes (LLM) con tus frameworks preferidos, la realización de inferencias por lotes o sin conexión en LLM y el manejo de otras tareas con gran demanda de procesamiento, como el procesamiento de video y la renderización de gráficos como trabajos en segundo plano. Google proporciona GPUs NVIDIA L4 con 24 GB de memoria de GPU (VRAM) y GPUs NVIDIA RTX PRO 6000 Blackwell con 96 GB de memoria de GPU (VRAM), que es independiente de la memoria de la instancia.
La GPU en Cloud Run está completamente administrada, sin necesidad de controladores ni bibliotecas adicionales. La función de GPU ofrece disponibilidad a pedido sin necesidad de reservas, similar a la forma en que funcionan la CPU y la memoria a pedido en Cloud Run.
Las instancias de Cloud Run con una GPU L4 o NVIDIA RTX PRO 6000 Blackwell conectada con controladores preinstalados comienzan en aproximadamente 5 segundos, momento en los que los procesos que se ejecutan en tu contenedor pueden comenzar a usar la GPU.
Puedes configurar una GPU por instancia de Cloud Run. Si usas contenedores secundarios, ten en cuenta que la GPU solo se puede conectar a un contenedor.
Tipos de GPU compatibles
Cloud Run admite dos tipos de GPUs:
- GPU L4 con la versión actual del controlador NVIDIA: 535.x.x (12.2) Para las GPUs L4, debes usar un mínimo de 4 CPU y 16 GiB de memoria.
- GPU NVIDIA RTX PRO 6000 Blackwell con la versión actual del controlador NVIDIA: 580.x.x (13.0) Para la GPU NVIDIA RTX PRO 6000 Blackwell, debes usar un mínimo de 20 CPU y 80 GiB de memoria.
Regiones admitidas
Las siguientes regiones son compatibles con la GPU L4:
asia-southeast1(Singapur)asia-south1(Mumbai) . Esta región solo está disponible por invitación. Comunícate con tu equipo de Cuentas de Google si te interesa esta región.europe-west1(Bélgica)Bajo nivel de CO2
europe-west4(Países Bajos)Bajo nivel de CO2
us-central1(Iowa)Bajo nivel de CO2 . Esta región solo está disponible por invitación. Comunícate con tu equipo de Cuentas de Google si te interesa esta región.
us-east4(Virginia del Norte)
Las siguientes regiones son compatibles con la GPU NVIDIA RTX PRO 6000 Blackwell:
asia-southeast1(Singapur)asia-south2(Delhi, India) Esta región solo está disponible por invitación. Comunícate con tu equipo de Cuentas de Google si te interesa esta región.europe-west4(Países Bajos)Bajo nivel de CO2
us-central1(Iowa)Bajo nivel de CO2
Impacto en los precios
Consulta los precios de Cloud Run para obtener detalles sobre los precios de las GPU. Ten en cuenta los siguientes requisitos y consideraciones:
- La GPU para trabajos sigue los precios de Sin redundancia zonal.
- Las configuraciones de CPU y memoria de tu recurso.
- La GPU se factura por la duración completa del ciclo de vida de la instancia.
Redundancia no zonal de GPU
La función de trabajos de Cloud Run proporciona compatibilidad con la redundancia no zonal solo para instancias habilitadas para GPU. Con la redundancia no zonal habilitada, Cloud Run intenta realizar la conmutación por error para los trabajos habilitados para GPU de la mejor manera posible. Cloud Run enruta las ejecuciones de trabajos a otras zonas solo si hay suficiente capacidad de GPU disponible en ese momento. Esta opción no garantiza la capacidad reservada para situaciones de conmutación por error, pero genera un costo más bajo por segundo de GPU.
Consulta Configura un trabajo de Cloud Run con GPU para obtener detalles sobre cómo habilitar la redundancia no zonal.
Solicita un aumento de la cuota
A los proyectos que usan GPUs nvidia-l4 de Cloud Run en una región por primera vez, se les otorga automáticamente una cuota de 3 GPUs (redundancia zonal desactivada) cuando se crea la primera implementación. La cuota para las GPUs nvidia-rtx-pro-6000 de Cloud Run se otorga en miliGPUs. A los proyectos que usan GPUs nvidia-rtx-pro-6000 en una región por primera vez, se les otorgará automáticamente una cuota de 3,000 miliGPUs (redundancia zonal desactivada) cuando se cree la primera implementación. Esto equivale a 3 GPUs.
Ten en cuenta que esta concesión automática de cuota está sujeta a la disponibilidad según tu capacidad de CPU y memoria. Esto limita la cantidad de GPUs que pueden estar activas en todos los servicios, trabajos y grupos de trabajadores del proyecto en un momento determinado.
Si necesitas GPUs adicionales de Cloud Run para trabajos, solicita un aumento de cuota.
Antes de comenzar
En la siguiente lista, se describen los requisitos y las limitaciones cuando se usan GPUs en Cloud Run:
- Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
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.
Habilitar la API de Cloud Run
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin), que contiene el permisoserviceusage.services.enable. Obtén más información para otorgar roles.- Consulta Prácticas recomendadas: Trabajos de Cloud Run con GPUs para optimizar el rendimiento cuando usas trabajos de Cloud Run con GPU.
Roles obligatorios
Para obtener los permisos que necesitas para configurar los trabajos de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM en los trabajos:
-
Desarrollador de Cloud Run (
roles/run.developer) - el trabajo de Cloud Run -
Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser) - la identidad del servicio
Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta los roles de IAM de Cloud Run y los permisos de IAM de Cloud Run. Si tu trabajo de Cloud Run interactúa con Google Cloud las APIs, como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información sobre cómo otorgar roles, consulta permisos de implementación y administra el acceso.
Configura un trabajo de Cloud Run para usar GPUs
Puedes usar la Google Cloud consola, Google Cloud CLI o YAML para configurar la GPU.
Console
En la Google Cloud consola, ve a la página Trabajos de Cloud Run:
Haz clic en Implementar contenedor para completar la página de configuración de trabajo inicial. Si quieres configurar un trabajo existente, selecciona el trabajo y, luego, haz clic en Ver y editar la configuración del trabajo.
Haz clic en Contenedores, Conexiones, Seguridad para expandir la página de propiedades del trabajo.
Haz clic en la pestaña Contenedor.
- Configura la CPU, la memoria y el sondeo de inicio según las recomendaciones que se indican en Antes de comenzar.
- Marca la casilla de verificación GPU. Luego, selecciona el tipo de GPU en el menú Tipo de GPU y la cantidad de GPUs en el menú Cantidad de GPUs.
Haz clic en Crear o Actualizar.
gcloud
Para habilitar la redundancia no zonal, debes especificar --no-gpu-zonal-redundancy. Esto es obligatorio para usar la GPU con trabajos.
Para crear un trabajo con las GPUs habilitadas, usa el comando gcloud run jobs create:
gcloud run jobs create JOB_NAME \ --image=IMAGE \ --gpu=1 \ --no-gpu-zonal-redundancy
Reemplaza lo siguiente:
- JOB_NAME: el nombre del trabajo de Cloud Run.
- IMAGE_URL: una referencia a la
imagen del contenedor, por
ejemplo,
us-docker.pkg.dev/cloudrun/container/job:latest.
Para actualizar la configuración de GPU de un trabajo, usa el 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
Reemplaza lo siguiente:
- JOB_NAME: el nombre del trabajo de Cloud Run.
- IMAGE_URL: una referencia a la
imagen del contenedor, por
ejemplo,
us-docker.pkg.dev/cloudrun/container/job:latest. - CPU: es la cantidad de CPU. Para la GPU L4, debes especificar al menos
4CPU. Para la GPU NVIDIA RTX PRO 6000 Blackwell, debes especificar al menos20CPU. - MEMORY: es la cantidad de memoria. Para la GPU L4, debes especificar al menos
16Gi(16 GiB). Para la GPU NVIDIA RTX PRO 6000 Blackwell, debes especificar al menos80Gi(80 GiB). - GPU_NUMBER: el valor
1(uno). Si no se especifica, pero hay un GPU_TYPE, el valor predeterminado es1. - GPU_TYPE: es el tipo de GPU. Para la GPU L4, ingresa el valor
nvidia-l4(nvidia-L4 con "L" minúscula, no el valor numérico catorce). Para la GPU NVIDIA RTX PRO 6000 Blackwell, ingresanvidia-rtx-pro-6000. - PARALLELISM: es un valor entero menor que el valor más bajo de los límites de cuota aplicables que asignaste a tu proyecto.
YAML
Debes establecer la anotación run.googleapis.com/gpu-zonal-redundancy-disabled: en "true". Esto habilita la redundancia no zonal, que es obligatoria para las GPUs para trabajos.
Si creas un trabajo nuevo, omite este paso. Si actualizas un trabajo existente, descarga su configuración de YAML:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Actualiza el atributo
nvidia.com/gpu,annotations: run.googleapis.com/launch-stagepara la etapa de lanzamiento ynodeSelector::
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
Reemplaza lo siguiente:
- JOB_NAME: el nombre del trabajo de Cloud Run.
- IMAGE_URL: una referencia a la
imagen del contenedor, por
ejemplo,
us-docker.pkg.dev/cloudrun/container/job:latest - CPU: es la cantidad de CPU. Para la GPU L4, debes especificar al menos
4CPU. Para la GPU NVIDIA RTX PRO 6000 Blackwell, debes especificar al menos20CPU. - MEMORY: es la cantidad de memoria. Para la GPU L4, debes especificar al menos
16Gi(16 GiB). Para la GPU NVIDIA RTX PRO 6000 Blackwell, debes especificar al menos80Gi(80 GiB). - GPU_NUMBER: el valor
1(uno) porque solo se admite adjuntar una GPU por instancia de Cloud Run. - GPU_TYPE: es el tipo de GPU. Para la GPU L4, ingresa el valor
nvidia-l4(nvidia-L4 con "L" minúscula, no el valor numérico catorce). Para la GPU NVIDIA RTX PRO 6000 Blackwell, ingresanvidia-rtx-pro-6000.
Crea o actualiza el servicio con el siguiente comando:
gcloud run jobs replace job.yaml
Visualiza la configuración de GPU
Para ver la configuración actual de GPU de tu trabajo de Cloud Run, sigue estos pasos:
Console
En la Google Cloud consola, ve a la página de trabajos de Cloud Run:
Haz clic en el trabajo que te interesa para abrir la página Detalles del trabajo.
Haz clic en Ver y editar la configuración del trabajo.
Ubica la configuración de la GPU en los detalles de configuración.
gcloud
Usa el siguiente comando:
gcloud run jobs describe JOB_NAME
Busca la configuración de GPU en la configuración mostrada.
Desconecta recursos de GPU de un trabajo
Puedes desconectar recursos de GPU de un trabajo con la Google Cloud consola, Google Cloud CLI o YAML.
Console
En la Google Cloud consola, ve a la página Trabajos de Cloud Run:
En la lista de trabajos, haz clic en un trabajo para abrir sus detalles.
Haz clic en Ver y editar la configuración del trabajo.
Haz clic en Contenedores, Conexiones, Seguridad para expandir la página de propiedades del trabajo.
Haz clic en la pestaña Contenedor.
- Desmarca la casilla de verificación GPU.
Haz clic en Actualizar.
gcloud
Para desconectar recursos de GPU de tu trabajo de Cloud Run, establece la cantidad de GPUs en 0 con el
comando gcloud run jobs update:
gcloud run jobs update JOB_NAME --gpu 0
Reemplaza JOB_NAME por el nombre de tu trabajo de Cloud Run.
YAML
Si creas un trabajo nuevo, omite este paso. Si actualizas un trabajo existente, descarga su configuración de YAML:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Borra las líneas
nvidia.com/gpu:,run.googleapis.com/gpu-zonal-redundancy-disabled: 'true'ynodeSelector: run.googleapis.com/accelerator: GPU_TYPE.Crea o actualiza el servicio con el siguiente comando:
gcloud run jobs replace job.yaml
Bibliotecas de controladores
De forma predeterminada, se activan todas las bibliotecas de controladores de GPU NVIDIA L4 y NVIDIA RTX PRO 6000 Blackwell en /usr/local/nvidia/lib64. Cloud Run automáticamente
agrega esta ruta a la variable de entorno LD_LIBRARY_PATH
(es decir, ${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64) del contenedor con la
GPU. Esto permite que el vinculador dinámico encuentre las bibliotecas de controladores de NVIDIA. El vinculador busca y resuelve rutas en el orden en que las enumeras en la variable de entorno LD_LIBRARY_PATH. Cualquier valor que especifiques en esta variable tiene prioridad sobre la ruta predeterminada de las bibliotecas de controladores de Cloud Run /usr/local/nvidia/lib64.
Si quieres usar una versión de CUDA superior a 12.2,
la forma más fácil es depender de una imagen base de NVIDIA
más reciente con paquetes de retrocompatibilidad ya instalados. Otra opción es
instalar manualmente los paquetes de retrocompatibilidad de NVIDIA
y agregarlos a LD_LIBRARY_PATH. Consulta la matriz de compatibilidad de NVIDIA
para determinar qué versiones de CUDA son retrocompatibles con la versión del controlador NVIDIA
proporcionada.
Acerca de las GPUs y el paralelismo
Si ejecutas tareas paralelas en una ejecución de trabajo, determina y establece el valor de paralelismo en menos que la cuota de GPU sin redundancia zonal asignada a tu proyecto. Para solicitar un aumento de cuota, consulta Cómo aumentar la cuota. Las tareas de GPU comienzan lo más rápido posible y alcanzan un máximo que varía según la cuota de GPU que asignaste al proyecto y la región seleccionada. Las implementaciones de Cloud Run fallan si estableces el paralelismo en más que el límite de cuota de GPU.
Para calcular la cuota de GPU que usa tu trabajo por ejecución, multiplica la cantidad de GPUs por tarea de trabajo con el valor de paralelismo. Por ejemplo, si tienes una cuota de GPU de 10 y, luego, implementas tu trabajo de Cloud Run con --gpu=1, --parallelism=10, tu trabajo consume las 10 cuotas de GPU. Como alternativa, si implementas con --gpu=1, --parallelism=20, las implementaciones fallan.
Para obtener más información, consulta Prácticas recomendadas: Trabajos de Cloud Run con GPUs.
¿Qué sigue?
Consulta Ejecuta la inferencia de IA en Cloud Run con GPUs para ver instructivos.