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.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    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.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

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áquinas optimizadas para aceleradores A3, se conectan GPUs NVIDIA H100 de 80 GB. Están disponibles en las siguientes opciones:
    • A3 Standard (a3-highgpu-8g): este tipo de máquina tiene GPUs H100 de 80 GB conectadas.
    • A3 Mega (a3-megagpu-8g): este tipo de máquina tiene GPUs H100 de 80 GB Mega conectadas
  • En los tipos de máquinas optimizados para aceleradores A2, se conectan GPUs NVIDIA A100. Están disponibles en las siguientes opciones:
    • A2 estándar (a2-highgpu-*, a2-megagpu-*): estos tipos de máquinas tienen GPU A100 de 40 GB conectadas
    • A2 Ultra (a2-ultragpu-*): estos tipos de máquinas tienen GPUs A100 de 80 GB conectadas
  • En los tipos de máquinas optimizados para aceleradores G2 (g2-standard-*), se conectan GPUs NVIDIA L4.

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

  • En el caso de las VMs A2 Ultra y todas las VMs A3, no puedes modificar el tipo de máquina. Si usas alguno de estos tipos de máquinas para tu VM y necesitas cambiar el tipo de máquina, crea una VM nueva.

  • 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.

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

    • Para modificar el recuento de GPU, cambia de un tipo de máquina estándar G2 a otro tipo de máquina estándar G2.
    • Puedes cambiar de un tipo de máquina estándar G2 a uno desde una familia de máquinas diferente, como optimizada para procesamiento o de uso general. Consulta Edita el tipo de máquina de una VM.
  • No puedes quitar las GPU de ninguno de los tipos de máquinas optimizadas para aceleradores. Si ya no necesitas GPUs, completa lo siguiente:

    • Para todas las VMs A3 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 A2 estándar o una VM optimizada para aceleradores G2 a través de la consola de Google Cloud o REST.

Consola

Puedes modificar la cantidad de GPU de tu VM; para ello, debes detener y editar la configuración de la VM.

  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 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 está en ejecución, haz clic en Detener en la barra de herramientas. 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 la VM; para ello, debes detener la VM y cambiar 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, se 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

VM A2

  • 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 sistema operativo Windows con <codea2-megagpu-16g< código="" dir="ltr" translate="no"> los tipos de máquinas estándar A2. Cuando uses los sistemas operativos Windows, elige otro tipo de máquina A2 estándar.</codea2-megagpu-16g<>
  • No puedes realizar un formateo rápido de los 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.

VMs de G2

  • No recibirás descuentos por uso continuo ni descuentos flexibles por compromiso de uso para las VMs que usan tipos de máquinas G2.
  • Solo puedes usar los tipos de máquinas G2 en ciertas regiones y zonas.
  • No puedes usar discos persistentes regionales en VMs que usan tipos de máquinas G2.
  • Los tipos de máquinas G2 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.
  • 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.
  • 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 las GPU.

    Si tu 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 VMs existentes

En esta sección, se explica cómo agregar GPU o modificar el tipo de GPU en VMs de uso general N1 existentes. 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 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 está en ejecución, haz clic en Detener en la barra de herramientas. 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 VM 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 VMs con GPU conectadas no se pueden migrar en vivo. Consulta Controla eventos de 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; para ello, debes detener y cambiar la 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 a fin de 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 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 GPUs

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 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 las 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 está en ejecución, haz clic en Detener en la barra de herramientas. 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 los parámetros de Configuración avanzada.

      2. En la sección GPU, quita las GPU con 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 VMs con GPU deben tener la política de mantenimiento del host configurada como Finalizar instancia de VM. Sin embargo, 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