Agregar o quitar GPU


Compute Engine proporciona unidades de procesamiento de gráficos (GPU) que puedes agregar a tus instancias de máquina virtual (VM). Puedes usar estas GPU para acelerar cargas de trabajo específicas en las VM, como el aprendizaje automático y el procesamiento de datos.

Solo puedes usar dos familias de máquinas cuando ejecutas GPU en Compute Engine:

  • La familia de máquinas con optimización de aceleradores: A3, A2 y G2
  • La familia de máquinas de uso general N1. Puedes usar la mayoría de los tipos de máquinas N1, excepto el tipo de máquina de núcleo compartido N1. Si no usas una máquina de uso general N1, puedes cambiar a una máquina de uso general N1 y, luego, agregar las GPU.

Antes de comenzar

  • Para revisar los pasos de requisitos previos adicionales, como elegir una imagen de SO y verificar la cuota de GPU, revisa el documento de descripción general.
  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    Selecciona la pestaña para saber cómo planeas usar las muestras en esta página:

    Consola

    Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud, no necesitas configurar la autenticación.

    REST

    Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

      Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init

VMs optimizadas para aceleradores

Cada tipo de máquina optimizada para acelerador tiene un modelo específico de GPU de NVIDIA conectada.

  • En los tipos de máquina optimizados para aceleradores A3, se conectan GPU NVIDIA H100 de 80 GB.
  • En los tipos de máquinas optimizados para aceleradores A2, se conectan las GPU NVIDIA A100. Están disponibles en las opciones A100 de 40 GB y A100 de 80 GB.
  • En los tipos de máquinas optimizados para aceleradores G2, se conectan las GPU NVIDIA L4.

Puedes modificar cada VM optimizada para aceleradores de la siguiente manera:

  • Para las VMs estándar A2, puedes modificar el recuento de GPU si cambias de un tipo de máquina estándar A2 a otro.

  • En el caso de las VMs A3 estándar y A2 ultra, no puedes modificar el tipo de máquina. Si usas un tipo de máquina estándar A3 o A2 para tu VM y necesitas cambiar el tipo de máquina, crea una VM nueva.

  • Para las VMs estándar de G2, puedes hacer lo siguiente:

    • Puedes modificar el recuento de GPU si cambias de un tipo de máquina estándar G2 a otro.
    • Puedes cambiar de un tipo de máquina estándar G2 a un tipo de máquina diferente de una familia de máquinas diferente, como de uso general o optimizada para procesamiento. Consulta Cambia el tipo de máquina.
  • No puedes quitar GPUs de un tipo de máquina optimizado para acelerador. Si ya no necesitas GPUs, completa lo siguiente:

    • Para las VMs estándar o A2, crea una VM nueva.
    • Para las VMs de G2, cambia a un tipo de máquina de una familia de máquinas diferente.

Modifica el recuento de GPU

Puedes modificar el recuento de GPU de una VM estándar A2 o con optimización de acelerador G2 mediante la consola de Google Cloud o REST.

Consola

Puedes modificar la cantidad de GPU de tu VM si la detienes y editas su configuración.

  1. Verifica que todas las aplicaciones importantes estén detenidas en la VM.

  2. En la consola de Google Cloud, ve a la página Instancias de VM para ver tu lista de VMs.

    Ir a Instancias de VM

  3. Haz clic en el nombre de la VM para la que deseas modificar la cantidad de GPU. Se abrirá la página Detalles.

  4. Completa los siguientes pasos desde la página Detalles.

    1. Si la VM se está ejecutando, en la barra de herramientas, haz clic en Detener. Luego, espera a que la VM se detenga.

    2. En la barra de herramientas, haz clic en Editar.

    3. En la sección Configuración de la máquina, elige la familia de máquinas GPU y, luego, haz lo siguiente:

      1. En la lista Cantidad de GPU, aumenta o disminuye el recuento de GPU.

    4. Para aplicar los cambios, haz clic en Guardar.

    5. Para reiniciar la VM, haz clic en Iniciar/Reanudar.

REST

Puedes modificar la cantidad de GPU en tu VM si detienes la VM y cambias el tipo de máquina. Cada tipo de máquina optimizada para acelerador tiene una cantidad específica de GPU conectadas. Si cambias el tipo de máquina, esto ajusta la cantidad de GPU conectadas a la VM.

  1. Verifica que todas tus aplicaciones importantes estén detenidas en la VM y, luego, crea un comando POST para detener la VM para que pueda trasladarse a un sistema host en el que las GPU estén disponibles.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    
  2. Después de que la VM se detenga, crea una solicitud POST para cambiar el tipo de máquina.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineType
    
    {
       machineType: "zones/ZONE/machineTypes/MACHINE_TYPE"
    }
    
  3. Inicia la VM.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

Reemplaza lo siguiente:

  • PROJECT_ID: el ID de tu proyecto.
  • VM_NAME: el nombre de la VM a la que deseas agregar las GPU.
  • ZONE: la zona donde se ubica la VM. Esta zona debe ser compatible con las GPU.
  • MACHINE_TYPE: es el tipo de máquina que deseas usar. Debe ser una de las siguientes opciones:

    • Si tu VM usa una máquina estándar A2, elige otro tipo de máquina A2.
    • Si tu VM usa un tipo de máquina G2, elige otro tipo de máquina G2. Los tipos de máquinas G2 también admiten memoria personalizada. La memoria debe ser un múltiplo de 1,024 MB y debe estar dentro del rango de memoria admitido. Por ejemplo, para crear una VM con 4 CPU virtuales y 19 GB de memoria, especifica --machine-type=g2-custom-4-19456.

Limitaciones

A2 estándar

  • No recibirás descuentos por uso continuo ni descuentos por compromiso de uso flexibles para las VMs que usan tipos de máquinas A2 estándar.
  • Solo puedes usar los tipos de máquinas A2 estándar en ciertas regiones y zonas.
  • No puedes usar discos persistentes regionales en VMs que usan tipos de máquinas A2 estándar.
  • Los tipos de máquinas A2 estándar solo están disponibles en la plataforma Cascade Lake.
  • Si tu VM usa un tipo de máquina estándar A2, solo puedes cambiar de un tipo de máquina estándar A2 a otro. No puedes cambiar a ningún otro tipo de máquina. Para obtener más información, consulta Modifica las VMs optimizadas para aceleradores.
  • No puedes usar el tipo de máquina A2 estándar a2-megagpu-16g en los sistemas operativos Windows. Cuando uses sistemas operativos Windows, elige un tipo de máquina A2 estándar diferente.
  • No puedes realizar un formateo rápido de las SSD locales conectados en las VMs de Windows que usan los tipos de máquinas A2 estándar. Para formatear estos SSD locales, debes realizar un formateo completo mediante el uso de la utilidad diskpart y la especificación de format fs=ntfs label=tmpfs.
  • Los tipos de máquinas A2 estándar no admiten usuarios únicos.

A2 ultra

  • No recibirás descuentos por uso continuo ni descuentos flexibles por compromiso de uso para las VMs que usan tipos de máquinas A2 ultra.
  • Solo puedes usar los tipos de máquinas A2 ultra en ciertas regiones y zonas.
  • No puedes usar discos persistentes regionales en VMs que usan tipos de máquinas A2 ultra.
  • Los tipos de máquinas A2 ultra solo están disponibles en la plataforma Cascade Lake.
  • Si tu VM usa un tipo de máquina A2 ultra, no puedes cambiar el tipo de máquina. Si necesitas usar un tipo de máquina A2 ultra diferente o cualquier otro tipo de máquinas, debes crear una VM nueva.
  • No puedes cambiar ningún otro tipo de máquina a uno A2 ultra. Si necesitas crear una VM que use un tipo de máquina A2 ultra, debes crear una VM nueva.
  • No puedes realizar un formateo rápido de las SSD locales conectados en las VMs de Windows que usan los tipos de máquinas A2 ultra. Para formatear estos SSD locales, debes realizar un formateo completo mediante el uso de la utilidad diskpart y la especificación de format fs=ntfs label=tmpfs.

G2 estándar

  • No recibirás descuentos por uso continuo ni descuentos flexibles por compromiso de uso para las VMs que usan tipos de máquinas G2 estándar.
  • Solo puedes usar los tipos de máquinas G2 estándar en ciertas regiones y zonas.
  • No puedes usar discos persistentes regionales en VMs que usan tipos de máquinas G2 estándar.
  • Los tipos de máquinas G2 estándar solo están disponibles en la plataforma Cascade Lake.
  • Los discos persistentes estándar (pd-standard) no son compatibles con las VM que usan tipos de máquina estándar G2. Para conocer los tipos de discos compatibles, consulta Tipos de discos compatibles con G2.
  • No puedes crear GPU de instancias múltiples en los tipos de máquinas G2 estándar.
  • Si necesitas cambiar el tipo de máquina de una VM G2, revisa Modifica las VMs optimizadas para aceleradores.
  • No puedes usar imágenes de Deep Learning VM Image como discos de arranque para las VMs que usan tipos de máquinas G2 estándar.
  • El controlador predeterminado actual para Container-Optimized OS no es compatible con las GPU L4 que se ejecutan en los tipos de máquinas G2. Container-Optimized OS solo admite un conjunto selecto de controladores. Si deseas usar Container-Optimized OS en tipos de máquinas G2, revisa las siguientes notas:
    • Usa una versión de Container-Optimized OS que sea compatible con la versión mínima recomendada del controlador NVIDIA 525.60.13 o posterior. Para obtener más información, revisa las notas de la versión de Container-Optimized OS.
    • Cuando instalas el controlador, especifica la versión más reciente disponible que funcione para las GPU L4. Por ejemplo, sudo cos-extensions install gpu -- -version=525.60.13
  • Debes usar Google Cloud CLI o REST para crear VMs de G2 en las siguientes situaciones:
    • Deseas especificar valores de memoria personalizados.
    • Deseas personalizar la cantidad de núcleos de CPU visibles.

VMs de uso general N1

En esta sección, se explica cómo agregar, modificar o quitar GPU de una máquina de uso general N1.

En resumen, el proceso para agregar, modificar o quitar GPU de una VM existente es el siguiente:

  1. Verifica que tu VM tenga un tamaño de disco de arranque de al menos 40 GB.
  2. Detén la VM.
  3. Agrega, modifica o quita GPU.

    Si la VM no tenía GPU conectadas antes, debes completar los siguientes pasos:

    1. Prepara tu VM para la modificación.
    2. Modifica la configuración de mantenimiento del host de la VM. Las VM con GPU no pueden migrar en vivo porque están asignadas a dispositivos de hardware específicos. Para obtener más información, consulta las restricciones de GPU.
    3. Cambia el tipo de máquina. Las GPU solo son compatibles en tipos de máquina seleccionados.
    4. Instala un controlador de GPU en tu VM, por lo que tu sistema pueda usar el dispositivo.

Prepara la VM

Cuando se agrega una GPU a una VM, el orden de la interfaz de red puede cambiar.

La mayoría de las imágenes públicas de Compute Engine no tienen nombres de interfaz de red persistentes y se ajustan al orden nuevo.

Sin embargo, si usas SLES o una imagen personalizada, debes actualizar la configuración del sistema para evitar que la interfaz de red sea persistente. Para evitar que la interfaz de red persista, ejecuta el siguiente comando en tu VM:

 rm /etc/udev/rules.d/70-persistent-net.rules 

Agrega GPU o modifica el tipo de GPU en las VM existentes

En esta sección, se explica cómo agregar GPU o modificar el tipo de GPU en una VM N1 de uso general existente. Este procedimiento admite los siguientes tipos de GPU:

GPU de NVIDIA:

  • NVIDIA T4: nvidia-tesla-t4
  • NVIDIA P4: nvidia-tesla-p4
  • NVIDIA P100: nvidia-tesla-p100
  • NVIDIA V100: nvidia-tesla-v100
  • NVIDIA K80: nvidia-tesla-k80. Consulta NVIDIA K80 EOL.

NVIDIA RTX Virtual Workstation (vWS) (antes conocida como NVIDIA GRID):

  • Estación de trabajo virtual NVIDIA T4: nvidia-tesla-t4-vws
  • Estación de trabajo virtual NVIDIA P4: nvidia-tesla-p4-vws
  • Estación de trabajo virtual NVIDIA P100: nvidia-tesla-p100-vws

    Para estas estaciones de trabajo virtuales, se agrega de forma automática una licencia de estación de trabajo virtual NVIDIA RTX (vWS) a tu VM.

Consola

Para agregar GPU o modificar el tipo de GPU, completa los siguientes pasos.

  1. Verifica que todas las aplicaciones importantes estén detenidas en la VM.

  2. En la consola de Google Cloud, ve a la página Instancias de VM para ver tu lista de VMs.

    Ir a Instancias de VM

  3. Haz clic en el nombre de la VM que deseas actualizar. Se abrirá la página Detalles.

  4. Completa los siguientes pasos desde la página Detalles.

    1. Si la VM se está ejecutando, en la barra de herramientas, haz clic en Detener. Luego, espera a que la VM se detenga.

    2. En la barra de herramientas, haz clic en Editar.

    3. En la sección Configuración de la máquina, elige la familia de máquinas GPU y, luego, haz lo siguiente:

      1. En la lista Tipo de GPU, elige o cambia a cualquiera de los tipos de GPU compatibles con las VM N1.

      2. En la lista Cantidad de GPU, elige la cantidad.

      3. Si tu modelo de GPU es compatible con estaciones de trabajo virtuales (vWS) de NVIDIA RTX para cargas de trabajo de gráficos y planeas ejecutar cargas de trabajo de alto contenido gráfico en esta VM, elige Habilitar Estación de trabajo virtual (NVIDIA GRID):

    4. Si tu VM no tenía GPU conectadas antes, completa lo siguiente:

      1. Si la instancia tiene un tipo de máquina de núcleo compartido, debes cambiar el tipo de máquina. En la lista Tipo de máquina, elige uno de los tipos de máquina N1 predeterminados. Como alternativa, también puedes especificar una configuración de tipo de máquina personalizado.

      2. En la sección Administración, completa lo siguiente:

        1. En la lista Mantenimiento en el host , elige Finalizar instancia de VM. Las VM con GPU conectadas no pueden migrar en vivo. Consulta Controla eventos del host de GPU.

        2. En la lista Reinicio automático, elige Activado.

    5. Para aplicar los cambios, haz clic en Guardar.

    6. Para reiniciar la VM, haz clic en Iniciar/Reanudar.

REST

Puedes agregar o modificar GPU en tu VM si la detienes y cambias su configuración a través de la API.

  1. Verifica que todas tus aplicaciones importantes estén detenidas en la VM y, luego, crea un comando POST para detener la VM para que pueda trasladarse a un sistema host en el que las GPU estén disponibles.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    
  2. Si tu VM no tenía GPU conectadas antes, completa los siguientes pasos:

    1. Identifica el tipo de GPU que deseas agregar a tu VM. Puedes enviar una solicitud GET para enumerar los tipos de GPU que están disponibles para tu proyecto en una zona específica.

      GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes
      
    2. Si la instancia tiene un tipo de máquina de núcleo compartido, debes cambiar el tipo de máquina para que tenga una o más CPU virtuales. No puedes agregar aceleradores a instancias con tipos de máquina de núcleo compartido.

    3. Crea un comando POST para establecer las opciones de programación para la VM.

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      
      {
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": true
      }
      
  3. Crea una solicitud POST para agregar o modificar las GPU conectadas a tu VM.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineResources
    
        {
         "guestAccelerators": [
          {
            "acceleratorCount": ACCELERATOR_COUNT,
            "acceleratorType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
          }
         ]
        }
    
  4. Inicia la VM.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID de tu proyecto.
    • VM_NAME: el nombre de la VM a la que deseas agregar las GPU.
    • ZONE: la zona donde se ubica la VM.
    • ACCELERATOR_COUNT: la cantidad de GPU que deseas conectar a tu VM Para obtener una lista de los límites de GPU en función del tipo de máquina de tu VM, consulta GPU en Compute Engine.
    • ACCELERATOR_TYPE: el modelo de GPU que deseas adjuntar o cambiarte. Si planeas ejecutar cargas de trabajo de alto contenido gráfico en esta VM, usa uno de los modelos de estación de trabajo virtual.

      Elige uno de los siguientes valores:

      • GPU de NVIDIA:

        • NVIDIA T4: nvidia-tesla-t4
        • NVIDIA P4: nvidia-tesla-p4
        • NVIDIA P100: nvidia-tesla-p100
        • NVIDIA V100: nvidia-tesla-v100
        • NVIDIA K80: nvidia-tesla-k80. Consulta NVIDIA K80 EOL.
      • NVIDIA RTX Virtual Workstation (vWS) (antes conocida como NVIDIA GRID):

        • Estación de trabajo virtual NVIDIA T4: nvidia-tesla-t4-vws
        • Estación de trabajo virtual NVIDIA P4: nvidia-tesla-p4-vws
        • Estación de trabajo virtual NVIDIA P100: nvidia-tesla-p100-vws

        Para estas estaciones de trabajo virtuales, se agrega de forma automática una licencia de estación de trabajo virtual NVIDIA RTX (vWS) a tu VM.

Instalar controladores

Para instalar los controladores, elige una de las siguientes opciones:

Quita GPU

En esta sección, se explica cómo quitar los siguientes tipos de GPU de una VM de uso general N1 existente.

GPU de NVIDIA:

  • NVIDIA T4: nvidia-tesla-t4
  • NVIDIA P4: nvidia-tesla-p4
  • NVIDIA P100: nvidia-tesla-p100
  • NVIDIA V100: nvidia-tesla-v100
  • NVIDIA K80: nvidia-tesla-k80. Consulta NVIDIA K80 EOL.

NVIDIA RTX Virtual Workstation (vWS) (antes conocida como NVIDIA GRID):

  • Estación de trabajo virtual NVIDIA T4: nvidia-tesla-t4-vws
  • Estación de trabajo virtual NVIDIA P4: nvidia-tesla-p4-vws
  • Estación de trabajo virtual NVIDIA P100: nvidia-tesla-p100-vws

    Para estas estaciones de trabajo virtuales, se agrega de forma automática una licencia de estación de trabajo virtual NVIDIA RTX (vWS) a tu VM.

Puedes usar la consola de Google Cloud para quitar GPU de una VM existente. Para quitar GPU, completa los siguientes pasos:

  1. Verifica que todas las aplicaciones importantes estén detenidas en la VM.

  2. En la consola de Google Cloud, ve a la página Instancias de VM para ver tu lista de VMs.

    Ir a Instancias de VM

  3. Haz clic en el nombre de la VM de la que deseas quitar las GPU. Se abrirá la página Detalles.

  4. Completa los siguientes pasos desde la página Detalles.

    1. Si la VM se está ejecutando, en la barra de herramientas, haz clic en Detener. Luego, espera a que la VM se detenga.

    2. En la barra de herramientas, haz clic en Editar.

    3. En la sección Configuración de la máquina, elige la familia de máquinas De uso general y, luego, haz lo siguiente:

      1. Para ver las GPU conectadas, expande Configuración avanzada.

      2. En la sección GPU, quita las GPU mediante una de las siguientes opciones:

        • Para quitar algunas GPU, elige una cantidad nueva en la lista Cantidad de GPU.

        • Para quitar todas las GPU, haz clic en Borrar GPU.

    4. Opcional: modifica la configuración de la política de mantenimiento del host de la VM. Las VM con GPU deben tener la política de mantenimiento del host configurada como Finalizar instancia de VM. Pero si quitaste todas las GPU, tienes la opción de migrar en vivo esta VM durante el mantenimiento del host. Para obtener más información, consulta Configura la política de mantenimiento del host de VM.

    5. Para aplicar los cambios, haz clic en Guardar.

    6. Para reiniciar la VM, haz clic en Iniciar/Reanudar.

Próximos pasos