Compatibilidad con GPU para grupos de trabajadores

En esta página, se describe la configuración de GPU para tus grupos de trabajadores de Cloud Run. Google proporciona GPU NVIDIA RTX PRO 6000 Blackwell con 96 GB de memoria de GPU (VRAM) y GPU NVIDIA L4 con 24 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 NVIDIA RTX PRO 6000 Blackwell o L4 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 NVIDIA RTX PRO 6000 Blackwell con la versión actual del controlador NVIDIA: 580.xx (13.0). Para la GPU NVIDIA RTX PRO 6000 Blackwell, debe utilizar un mínimo de 20 GB de CPU y 80 GB de memoria.
  • GPU L4 con la versión actual del controlador NVIDIA: 580.xx (13.0). En el caso de las GPU L4, debes usar un mínimo de 4 CPU y 16 GiB de memoria.

Regiones admitidas

Las siguientes regiones son compatibles con la GPU NVIDIA RTX PRO 6000 Blackwell:

La GPU L4 admite las siguientes regiones:

  • asia-southeast1 (Singapur)
  • asia-south1 (Mumbai) . Esta región solo está disponible por invitación. Si te interesa esta región, comunícate con tu equipo de Cuentas de Google.
  • europe-west1 (Bélgica) ícono de hoja Bajo nivel de CO2
  • europe-west4 (Países Bajos) ícono de hoja Bajo nivel de CO2
  • us-central1 (Iowa) ícono de hoja Bajo nivel de CO2 . Es posible que el ajuste de recursos adicional en esta región requiera una solicitud de aumento de cuota. Si te interesa esta región, comunícate con tu equipo de Cuentas de Google.
  • us-east4 (Norte de Virginia) . Es posible que el ajuste de recursos adicional en esta región requiera una solicitud de aumento de cuota. Si te interesa esta región, comunícate con tu equipo de Cuentas de Google.

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:

  • Existe una diferencia en el costo entre la redundancia zonal de GPU y la redundancia no zonal. Consulta los precios de Cloud Run para obtener detalles sobre los precios de las GPU.
  • Los grupos de procesadores GPU no se pueden escalar automáticamente. Se te cobra por la GPU incluso si esta no ejecuta ningún proceso y mientras se ejecute la instancia de GPU del grupo de trabajadores.
  • La CPU y la memoria de los grupos de trabajadores tienen un precio diferente al de los servicios y los trabajos. Sin embargo, el SKU de GPU tiene el mismo precio que los servicios y los trabajos.
  • Son 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.

Opciones de redundancia zonal de GPU

De forma predeterminada, Cloud Run implementa tu grupo de trabajadores en varias zonas dentro de una región. Esta arquitectura proporciona resiliencia inherente: si una zona experimenta una interrupción, Cloud Run enruta automáticamente el tráfico fuera de la zona afectada hacia las zonas en buen estado dentro de la misma región.

Al trabajar con recursos de GPU, tenga en cuenta que estos recursos tienen limitaciones de capacidad específicas. Durante una interrupción zonal, el mecanismo de conmutación por error estándar para las cargas de trabajo de GPU se basa en que haya suficiente capacidad de GPU sin usar disponible en las zonas restantes en buen estado. Debido a la naturaleza limitada de las GPUs, es posible que esta capacidad no siempre esté disponible.

Para aumentar la disponibilidad de tus grupos de trabajadores acelerados por GPU durante las interrupciones zonales, puedes configurar la redundancia zonal específicamente para las GPU:

  • Redundancia zonal activada (predeterminado): Cloud Run reserva capacidad de GPU para su grupo de trabajadores en varias zonas. Esto aumenta significativamente la probabilidad de que tu grupo de trabajadores pueda controlar con éxito el tráfico redireccionado desde una zona afectada, lo que ofrece una mayor confiabilidad durante las fallas zonales con un costo adicional por segundo de GPU.

  • Redundancia zonal desactivada: Cloud Run intenta realizar la conmutación por error para las cargas de trabajo de GPU en base al mejor esfuerzo. El tráfico se enruta 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.

ANS

El SLA para Cloud Run GPU depende de si el grupo de trabajadores utiliza la redundancia zonal o la redundancia no zonal option. Consulte la página SLA para obtener más detalles.

Solicita un aumento de la cuota

La cuota para la GPU de Cloud Run nvidia-rtx-pro-6000 se otorga en miliGPUs. A los proyectos que usen la GPU nvidia-rtx-pro-6000 en una región por primera vez se les otorgará automáticamente una cuota de 3,000 miliGPU (redundancia zonal desactivada) cuando se cree la primera implementación. Esto equivale a 3 GPUs. Los proyectos que utilizan por primera vez las GPU de Cloud Run nvidia-l4 en una región reciben automáticamente una cuota de 3 GPU (redundancia zonal desactivada) cuando se crea la primera implementación.

Si necesita GPU adicionales para Cloud Run, debe solicitar un aumento de cuota para su grupo de trabajadores de Cloud Run. Usa los vínculos que se proporcionan en los siguientes botones para solicitar la cuota que necesitas.

Se necesita una cuota Enlace de cuota
GPU NVIDIA RTX PRO 6000 Blackwell con redundancia zonal desactivada (precio más bajo) Solicitar cuota de GPU sin redundancia zonal
GPU NVIDIA RTX PRO 6000 Blackwell con redundancia zonal activada (precio más alto) Solicitar cuota de GPU con redundancia zonal
GPU L4 con redundancia zonal desactivada (precio más bajo) Solicitar cuota de GPU sin redundancia zonal
GPU L4 con redundancia zonal activada (precio más alto) Solicita una cuota de GPU con redundancia zonal

Si deseas obtener más información para solicitar aumentos de cuota, consulta Cómo aumentar la cuota.

Antes de comenzar

En la siguiente lista, se describen los requisitos y las limitaciones que se aplican cuando se usan GPUs en Cloud Run:

  1. Accede a tu cuenta de Google Cloud . 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Habilitar la API de Cloud Run

    Roles necesarios para habilitar las APIs

    Para habilitar APIs, necesitas el permiso serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.

    Habilitar la API

  7. Solicita la cuota requerida.
  8. Consulte GPU Best practices: Cloud Run worker pools with GPU para obtener recomendaciones sobre cómo crear su imagen de contenedor y cargar modelos grandes.
  9. Asegúrese de que su grupo de trabajadores de Cloud Run tenga las siguientes configuraciones:
    • Configure los ajustes de facturación para que se basen en la facturación por instancia. Ten en cuenta que los grupos de trabajadores configurados con la facturación basada en instancias también pueden reducir su escala a cero.
    • Para la GPU NVIDIA RTX PRO 6000 Blackwell, configura un mínimo de 20 CPU y un mínimo de 80 GiB de memoria.
    • Para L4 GPU, configure un mínimo de 4 CPU para su grupo de trabajadores, con 8 CPU recomendadas, y un mínimo de 16 GiB de memoria, con 32 GiB recomendados.
    • Determina y establece una concurrencia máxima óptima para el uso de tu GPU.

Roles obligatorios

Para obtener los permisos que necesitas para configurar e implementar grupos de trabajadores de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM en workerpools:

  • Desarrollador de Cloud Run (roles/run.developer): Es el grupo de trabajadores de Cloud Run.
  • Usuario de la cuenta de servicio (roles/iam.serviceAccountUser): Es 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 grupo de trabajadores de Cloud Run interactúa con lasGoogle Cloud 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 los permisos de implementación y cómo administrar el acceso.

Configure un grupo de trabajadores de Cloud Run con GPU

Cualquier cambio en la configuración conlleva la creación de una revisión nueva. Las revisiones posteriores también adoptarán esta configuración de manera automática, a menos que realices actualizaciones explícitas para cambiarla.

Puedes usar la consola Google Cloud , Google Cloud CLI o YAML para configurar la GPU.

Console

  1. En la consola Google Cloud , ve a Cloud Run:

    Ir a Cloud Run

  2. Selecciona Grupos de trabajadores en el menú de navegación de Cloud Run y haz clic en Implementar contenedor para configurar un grupo de trabajadores nuevo. Si quieres configurar un grupo de trabajadores existente, haz clic en el grupo de trabajadores y, luego, en Editar e implementar una nueva revisión.

  3. Si está configurando un nuevo grupo de trabajadores, complete la página de configuración inicial del grupo de trabajadores y, a continuación, haga clic en Contenedores, Redes, Seguridad para expandir la página de configuración del grupo de trabajadores.

  4. Haz clic en la pestaña Contenedores.

    imagen

    • Configure la CPU, la memoria, la simultaneidad, el entorno de ejecución y la sonda de inicio siguiendo las recomendaciones de Antes de comenzar
    • Marque la casilla de verificación GPU, luego seleccione el tipo de GPU en el menú GPU type y el número de GPUs en el menú Number of GPUs.
    • Por defecto, la redundancia zonal está activada. Para cambiar el parámetro de configuración actual, selecciona la casilla de verificación de GPU para mostrar las opciones de redundancia de GPU.
      • Selecciona Sin redundancia zonal para desactivar la redundancia zonal.
      • Seleccione Redundancia zonal para activar la redundancia zonal.
  5. Haz clic en Crear o Implementar.

gcloud

Para crear un grupo de trabajadores habilitado para GPU, usa el comando gcloud run worker-pools deploy:

  gcloud run worker-pools deploy WORKER_POOL \
    --image IMAGE_URL \
    --gpu 1

Reemplaza lo siguiente:

  • WORKER_POOL: El nombre de tu grupo de trabajadores de Cloud Run.
  • IMAGE_URL: Una referencia a la imagen del contenedor que contiene el grupo de trabajadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest

Para actualizar la configuración de GPU de un grupo de trabajadores, usa el comando gcloud run worker-pools update:

  gcloud run worker-pools update WORKER_POOL \
    --image IMAGE_URL \
    --cpu CPU \
    --memory MEMORY \
    --gpu GPU_NUMBER \
    --gpu-type GPU_TYPE \
    --GPU_ZONAL_REDUNDANCY
    

Reemplaza lo siguiente:

  • WORKER_POOL: El nombre de tu grupo de trabajadores de Cloud Run.
  • IMAGE_URL: Una referencia a la imagen del contenedor que contiene el grupo de trabajadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • CPU: Es la cantidad de CPU. Para la GPU NVIDIA RTX PRO 6000 Blackwell, debes especificar al menos 20 CPU. Para la GPU NVIDIA L4, debes especificar al menos 4 CPU.
  • MEMORY: la cantidad de memoria. En el caso de la GPU NVIDIA RTX PRO 6000 Blackwell, debes especificar al menos 80Gi (80 GiB). Para la GPU NVIDIA L4, debes especificar al menos 16Gi (16 GiB).
  • GPU_NUMBER: El valor 1 (uno). Si no se especifica, pero hay un GPU_TYPE presente, el valor predeterminado es 1.
  • GPU_TYPE es el tipo de GPU. GPU NVIDIA RTX PRO 6000 Blackwell, ingresa nvidia-rtx-pro-6000. Para la GPU L4, ingresa el valor nvidia-l4 (nvidia-L4 con "L" minúscula, no el valor numérico catorce).
  • GPU_ZONAL_REDUNDANCY: no-gpu-zonal-redundancy para desactivar la redundancia zonal, o gpu-zonal-redundancy para activar la redundancia zonal.

YAML

  1. Si creas un grupo de trabajadores nuevo, omite este paso. Si actualizas un grupo de trabajadores existente, descarga su configuración de YAML:

    gcloud run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
  2. Actualiza los atributos nvidia.com/gpu: y nodeSelector:
    run.googleapis.com/accelerator:
    :

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/gpu-zonal-redundancy-disabled: 'GPU_ZONAL_REDUNDANCY'
        spec:
          containers:
          - image: IMAGE_URL
            resources:
              limits:
                cpu: 'CPU'
                memory: 'MEMORY'
                nvidia.com/gpu: '1'
          nodeSelector:
            run.googleapis.com/accelerator: GPU_TYPE

    Reemplaza lo siguiente:

    • WORKER_POOL: El nombre de tu grupo de trabajadores de Cloud Run.
    • IMAGE_URL: Una referencia a la imagen del contenedor que contiene el grupo de trabajadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest
    • CPU: es la cantidad de CPU. En el caso de la GPU NVIDIA RTX PRO 6000 Blackwell, debes especificar al menos 20 CPU. Para la GPU L4, debes especificar al menos 4 CPU.
    • MEMORY: la cantidad de memoria. En el caso de la GPU NVIDIA RTX PRO 6000 Blackwell, debes especificar al menos 80Gi (80 GiB). Para la GPU L4, debes especificar al menos 16Gi (16 GiB).
    • GPU_TYPE es el tipo de GPU. Para la GPU NVIDIA RTX PRO 6000 Blackwell, ingresa nvidia-rtx-pro-6000. Para la GPU L4, ingresa el valor nvidia-l4 (nvidia-L4 con "L" minúscula, no el valor numérico catorce).
    • GPU_ZONAL_REDUNDANCY: false para activar la redundancia zonal de la GPU o true para desactivarla
  3. Crea o actualiza el grupo de trabajadores con el siguiente comando:

    gcloud run worker-pools replace worker-pool.yaml

    El comando gcloud run worker-pools replace usa de forma predeterminada el archivo worker-pool.yaml si está presente.

Terraform

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

resource "google_cloud_run_v2_worker_pool" "default" {
  provider = google-beta
  name     = "WORKER_POOL"
  location = "REGION"

  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"
    }
  }
}

Reemplaza lo siguiente:

  • WORKER_POOL: El nombre de tu grupo de trabajadores de Cloud Run.
  • GPU_ZONAL_REDUNDANCY: false para activar la redundancia zonal de la GPU o true para desactivarla
  • IMAGE_URL: Una referencia a la imagen del contenedor que contiene el grupo de trabajadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • CPU: es la cantidad de CPU. Para la GPU NVIDIA RTX PRO 6000 Blackwell, debes especificar al menos 20 CPU. Para la GPU NVIDIA L4, debes especificar al menos 4 CPU.
  • MEMORY: la cantidad de memoria. En el caso de la GPU NVIDIA RTX PRO 6000 Blackwell, debes especificar al menos 80Gi (80 GiB). Para la GPU NVIDIA L4, debes especificar al menos 16Gi (16 GiB).
  • GPU_TYPE es el tipo de GPU. GPU NVIDIA RTX PRO 6000 Blackwell, ingresa nvidia-rtx-pro-6000. Para la GPU L4, ingresa el valor nvidia-l4 (nvidia-L4 con "L" minúscula, no el valor numérico catorce).

Visualiza la configuración de GPU

Para ver la configuración actual de GPU de tu grupo de trabajadores de Cloud Run, sigue estos pasos:

Console

  1. En el Google Cloud En la consola, vaya a la página de grupos de trabajadores de Cloud Run:

    Ir a los grupos de trabajadores de Cloud Run

  2. Haga clic en el grupo de trabajadores que le interese para abrir laDetalles de los grupos de trabajadores página.

  3. Haz clic en Editar e implementar una nueva revisión.

  4. Ubica la configuración de GPU en los detalles de configuración.

gcloud

  1. Usa el siguiente comando:

    gcloud run worker-pools describe WORKER_POOL
  2. Busca la configuración de GPU en la configuración mostrada.

Quitar GPU

Puedes quitar la GPU con la Google Cloud consola, Google Cloud CLI o YAML.

Console

  1. En la consola Google Cloud , ve a Cloud Run:

    Ir a Cloud Run

  2. Selecciona Grupos de trabajadores en el menú de navegación de Cloud Run y haz clic en Implementar contenedor para configurar un grupo de trabajadores nuevo. Si quieres configurar un grupo de trabajadores existente, haz clic en el grupo de trabajadores y, luego, en Editar e implementar una nueva revisión.

  3. Si está configurando un nuevo grupo de trabajadores, complete la página de configuración inicial del grupo de trabajadores y, a continuación, haga clic en Contenedores, Redes, Seguridad para expandir la página de configuración del grupo de trabajadores.

  4. Haz clic en la pestaña Contenedores.

imagen

  • Desmarca la casilla de verificación GPU.
  1. Haz clic en Crear o Implementar.

gcloud

Para eliminar la GPU, establezca el número de GPU en 0:

  gcloud run worker-pools update WORKER_POOL --gpu 0
  

Reemplaza WORKER_POOL por el nombre de tu grupo de trabajadores de Cloud Run.

YAML

  1. Si creas un grupo de trabajadores nuevo, omite este paso. Si actualizas un grupo de trabajadores existente, descarga su configuración de YAML:

    gcloud run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
  2. Borra las líneas nvidia.com/gpu: y nodeSelector: run.googleapis.com/accelerator: GPU_TYPE.

  3. Crea o actualiza el grupo de trabajadores con el siguiente comando:

    gcloud run worker-pools replace worker-pool.yaml

    El comando gcloud run worker-pools replace usa de forma predeterminada el archivo worker-pool.yaml si está presente.

Bibliotecas de controladores

Por defecto, todas las bibliotecas de controladores de GPU NVIDIA RTX PRO 6000 Blackwell y NVIDIA L4 se montan en /usr/local/nvidia/lib64. Cloud Run agrega automáticamente 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 de acceso en el orden en que las enumeras en la variable de entorno LD_LIBRARY_PATH. Todos los valores que especifiques en esta variable tendrán prioridad sobre la ruta de acceso predeterminada de las bibliotecas del controlador de Cloud Run /usr/local/nvidia/lib64.

Si desea utilizar una versión de CUDA superior a 13.0, la forma más sencilla es depender de una imagen base de NVIDIA más reciente con paquetes de compatibilidad con versiones futuras ya instalados. Otra opción es instalar manualmente los paquetes de compatibilidad con versiones futuras de NVIDIA y agregarlos a LD_LIBRARY_PATH. Consulta la matriz de compatibilidad de NVIDIA para determinar qué versiones de CUDA son compatibles con la versión del controlador NVIDIA proporcionada.