Usa GPU con tu servicio

En esta página, se describe cómo realizar tareas de aprendizaje profundo, como reconocimiento de imágenes, procesamiento de lenguaje natural y otras tareas de procesamiento intensivo mediante grupos de nodos con unidades de procesamiento gráfico (GPU) de aceleración de hardware de NVIDIA para brindar potencia de procesamiento a tu instancia de contenedor de Cloud Run for Anthos en Google Cloud.

Agrega un grupo de nodos con GPU al clúster de GKE

Haz que un administrador cree un grupo de nodos con GPU:

  1. Agrega un grupo de nodos habilitado para GPU a tu clúster de GKE.

  2. Instala los controladores de dispositivos de NVIDIA en los nodos.

Configura tu servicio para que consuma GPU

Puedes especificar un límite de recursos para consumir GPU en tu servicio mediante Cloud Console, la herramienta de línea de comandos de gcloud o un archivo YAML cuando implementas un nuevo servicio, actualizas un servicio existente o implementas una revisión:

Console

  1. Ir a Cloud Run for Anthos en Google Cloud
  2. Haz clic en Crear servicio para mostrar el formulario Crear servicio (Create service).

    imagen

  3. En la sección Configuración del servicio (Service settings), haz lo siguiente:

    • Selecciona Cloud Run for Anthos en Google Cloud como la plataforma de desarrollo.
    • Selecciona el clúster de GKE con el grupo de nodos habilitado para GPU.
    • Especifica el nombre que deseas asignarle al servicio.
    • Selecciona qué conectividad quieres usar para invocar el servicio.
    • Haz clic en Siguiente (Next) para dirigirte a la segunda página del formulario de creación de servicios:
  4. En la sección Configurar la primera revisión del servicio (Configure the service's first revision), haz lo siguiente:

    imagen

    • Agrega la URL de una imagen de contenedor.
    • Haz clic en MOSTRAR CONFIGURACIÓN AVANZADA y, en el menú desplegable GPU asignadas, selecciona la cantidad de GPU que deseas asignar a tu servicio. image
  5. Haz clic en Crear para implementar la imagen en Cloud Run for Anthos y espera a que termine la implementación.

Línea de comandos

  • Para servicios existentes, actualiza una configuración de límite de GPU mediante la ejecución del comando gcloud kuberun core services update con el parámetro --gpu:

    gcloud kuberun core services update SERVICE --gpu GPU
    

    Reemplaza lo siguiente:

    • SERVICE por el nombre del servicio
    • GPU por la cantidad de GPU que deseas asignar a tu servicio.
  • Para servicios nuevos, establece el límite de GPU mediante la ejecución del comando gcloud kuberun core services create con el parámetro --gpu:

    gcloud kuberun core services create SERVICE --image=IMAGE_URL --gpu GPU
    

    Reemplaza lo siguiente:

    • SERVICE por el nombre del servicio
    • IMAGE_URL por una referencia a la imagen del contenedor, como gcr.io/myproject/my-image:latest
    • GPU por la cantidad de GPU que deseas asignar a tu servicio.

YAML

Si deseas usar un archivo YAML para modificar la configuración de tu servicio existente, obtén una copia de la configuración actual, modifica y guarda los cambios en un archivo local y, luego, implementa esos cambios en tu servicio.

  1. Muestra los cambios como YAML y, luego, copia la configuración de tu servicio en un archivo local, por ejemplo service.yaml:

    gcloud kuberun core services describe SERVICE --format yaml

    Reemplaza SERVICE por el nombre de tu servicio de Cloud Run for Anthos.

  2. En tu archivo local, actualiza el atributo nvidia.com/gpu:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
    name: SERVICE_NAME
    spec:
    template:
     spec:
       containers:
       – image: IMAGE_URL
         resources:
           limits:
            nvidia.com/gpu: GPU_UNITS
    

    Reemplaza GPU_UNITS por el valor de GPU deseado en unidades de GPU de Kubernetes. Por ejemplo, especifica 1 para 1 GPU.

  3. Implementa el archivo YAML y reemplaza tu servicio con la nueva configuración mediante la ejecución del siguiente comando:

    gcloud beta run services replace service.yaml

Para obtener más información sobre el rendimiento y el costo de la GPU, consulta GPU.