Crear una VM con GPU conectadas

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Compute Engine proporciona unidades de procesamiento de gráficos (GPU) que puedes agregar a tus máquinas virtuales (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.

En esta página, se explica cómo crear una VM con GPU conectadas. Si deseas agregar GPU a las VM existentes, consulta Agrega o quita GPU.

Para obtener más información sobre lo que puedes hacer con las GPU y qué tipos de hardware de GPU están disponibles, consulta Plataformas de GPU.

Antes de comenzar

  • Si deseas usar los ejemplos de línea de comandos de esta guía, haz lo siguiente:
    1. Instala Google Cloud CLI o actualízala a la última versión.
    2. Configura una región y una zona predeterminadas.
  • Si deseas usar los ejemplos de API de esta guía, configura el acceso a la API.
  • Lee sobre los precios de GPU en Compute Engine para obtener más información sobre el costo del uso de GPU en las VM.
  • Lee sobre las restricciones para las VM con GPU.
  • Verifica tu cuota de GPU.
  • Elige una imagen del sistema operativo:
    • Si usas GPU para el aprendizaje automático, puedes usar una Deep Learning VM Image para la VM. Las Deep Learning VM Image tienen controladores de GPU preinstalados y, además, incluyen paquetes como TensorFlow y PyTorch. También puedes usar las imágenes de VM de aprendizaje profundo para cargas de trabajo generales de GPU. Para obtener información sobre las imágenes disponibles y los paquetes instalados en ellas, consulta Elige una imagen.
    • También puedes usar cualquier imagen pública o imagen personalizada, pero algunas imágenes pueden requerir un controlador único o un proceso de instalación que no esté cubierto en este documento. Debes identificar qué controladores son apropiados para tus imágenes. Si deseas conocer los pasos para instalar controladores, consulta la sección sobre cómo instalar controladores de GPU.

Comprueba la cuota de GPU

Para proteger los sistemas y usuarios de Compute Engine, los nuevos proyectos tienen una cuota global de GPU que limita la cantidad total de GPU que puedes crear en cualquier zona compatible.

Usa el comando regions describe para asegurarte de que tienes suficiente cuota de GPU en la región en la que deseas crear VM con GPU.

gcloud compute regions describe REGION

Reemplaza REGION por la región que deseas verificar para la cuota de GPU.

Si necesitas cuota adicional de GPU, solicita un aumento de cuota. Cuando solicitas una cuota de GPU, debes especificar una cuota de los modelos de GPU que quieres crear en cada región y también indicar la cuota global, con la cantidad total de GPU de todos los tipos en todas las zonas.

Si tu proyecto tiene un historial de facturación establecido, recibirás la cuota de forma automática después de enviar la solicitud.

Limitaciones

Las siguientes limitaciones se aplican a las VM de Windows con GPU conectadas (A100):

  • El sistema operativo Windows no admite los tipos de máquina a2-megagpu-16g. Cuando uses sistemas operativos Windows, elige un tipo de máquina diferente. Para obtener una lista de los tipos de máquinas, consulta GPU NVIDIA® A100.
  • Para las VM de Windows que usan tipos de máquina A2, no puedes usar un formato rápido de las SSD locales conectados. Para formatear estos SSD locales, debes realizar un formato completo mediante el uso de la utilidad diskpart y especificando format fs=ntfs label=tmpfs.

Crea VM con GPU conectadas

Para crear una VM con GPU conectadas, completa los siguientes pasos:

  1. Crea la VM. El método que se usa para crear una VM depende del modelo de GPU.

  2. Para que la VM use la GPU, debes instalar el controlador de GPU en tu VM.

  3. Si habilitaste una estación de trabajo virtual de NVIDIA RTX (antes conocida como NVIDIA GRID), instala un controlador para la estación de trabajo virtual.

Crea una VM con GPU conectadas (GPU A100)

En esta sección, se explica cómo crear VM con GPU NVIDIA A100 conectadas. Para otros tipos de GPU, consulta Crea una VM con GPU conectadas (otros tipos de GPU).

Si creas una VM de Windows con GPU, consulta las limitaciones en este documento.

Console

  1. En Google Cloud Console, ve a la página Crea una instancia.

    Ir a Crear una instancia

  2. Especifica un Nombre para la VM. Consulta la convención de asignación de nombres de recursos.

  3. Selecciona una región y una zona en las que las GPU estén disponibles. Consulta la lista de zonas de GPU A100 disponibles.

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

    1. En la lista Tipo de GPU, selecciona NVIDIA Tesla A100 o nvidia-a100-80gb. La serie del tipo de máquina se establece en función del tipo de GPU.

      Cuando seleccionas cualquiera de las opciones de GPU A100, la opción Serie del tipo de máquina se configura como A2 yTipo de máquina se establece en un Tipo de máquina A2.

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

  5. En la sección Disco de arranque, haz clic en Cambiar. Se abrirá la página Configuración del disco de arranque.

  6. En la página Configuración del disco de arranque, haz lo siguiente:

    1. En la pestaña Imágenes públicas, elige una imagen de Compute Engine compatible o una Deep Learning VM Image.
    2. Especifica un tamaño de disco de arranque de al menos 40 GB.
    3. Para confirmar las opciones del disco de arranque, haz clic en Guardar.
  7. Establece cualquier otra configuración de VM que necesites. Por ejemplo, puedes cambiar la configuración de Interrumpibilidad para establecer tu VM como instancia interrumpible. Esto reduce el costo de tu VM y las GPU adjuntas. Para obtener más información, consulta GPU en instancias interrumpibles.

  8. Para crear y, también, iniciar la VM, haz clic en Crear.

gcloud

Para crear y, luego, iniciar una VM, usa el comando gcloud compute instances create con las siguientes marcas. Las VM con GPU no se pueden migrar en vivo, asegúrate de configurar la marca --maintenance-policy TERMINATE.

--preemptible es una marca opcional que configura tu VM como una instancia interrumpible. Esto reduce el costo de tu VM y las GPU adjuntas. Para obtener más información, consulta GPU en instancias interrumpibles.

gcloud compute instances create VM_NAME \
    --machine-type MACHINE_TYPE \
    --zone ZONE \
    --boot-disk-size DISK_SIZE \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    --image-project IMAGE_PROJECT \
    --maintenance-policy TERMINATE --restart-on-failure \
    [--preemptible]

Reemplaza lo siguiente:

  • VM_NAME: el nombre de la VM nueva
  • MACHINE_TYPE: El tipo de máquina A2 que seleccionaste para la VM.
  • ZONE: La zona para la VM. Esta zona debe ser compatible con las GPU A100.
  • DISK_SIZE: El tamaño de tu disco de arranque en GB Especifica un tamaño de disco de arranque de al menos 40 GB.
  • IMAGE o IMAGE_FAMILY que admiten GPU Especifica una de las siguientes opciones:

    • IMAGE: Es la versión requerida de una imagen pública. Por ejemplo, --image debian-10-buster-v20200309.
    • IMAGE_FAMILY: Es una familia de imágenes. Esto crea la VM a partir de la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas --image-family debian-10, Compute Engine crea una VM a partir de la última versión de la imagen de SO en la familia de imágenes Debian 10.

    También puedes especificar una imagen personalizada o una Deep Learning VM Image.

  • IMAGE_PROJECT: el proyecto de imagen de Compute Engine al que pertenece la familia de imágenes Si usas una imagen personalizada o una Deep Learning VM Image, especifica el proyecto al que pertenecen esas imágenes.

API

En la API, crea una solicitud para el método instances.insert. Las VM con GPU no pueden migrar en vivo; asegúrate de configurar el parámetro onHostMaintenance como TERMINATE.

"preemptible": true es un parámetro opcional que configura tu VM como una instancia interrumpible. Esto reduce el costo de tu VM y las GPU adjuntas. Para obtener más información, consulta GPU en instancias interrumpibles.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks":
  [
    {
      "type": "PERSISTENT",
      "initializeParams":
      {
        "diskSizeGb": "DISK_SIZE",
        "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "boot": true
    }
  ],
  "name": "VM_NAME",
  "networkInterfaces":
  [
    {
      "network": "projects/PROJECT_ID/global/networks/NETWORK"
    }
  ],
  "scheduling":
  {
    "onHostMaintenance": "terminate",
    "automaticRestart": true,
    ["preemptible": true]
  },
}

Reemplaza lo siguiente:

  • VM_NAME: el nombre de la VM
  • PROJECT_ID: el ID de tu proyecto
  • ZONE: La zona para la VM. Esta zona debe ser compatible con las GPU A100.
  • MACHINE_TYPE: El tipo de máquina A2 que seleccionaste para la VM.
  • IMAGE o IMAGE_FAMILY: Especifica una de las siguientes opciones:

    • IMAGE: Especifica la versión requerida de una imagen pública. Por ejemplo:"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
    • IMAGE_FAMILY: Es una familia de imágenes. Esto crea la VM a partir de la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas "sourceImage": "projects/debian-cloud/global/images/family/debian-10", Compute Engine crea una VM a partir de la última versión de la imagen de SO en la familia de imágenes Debian 10.

    También puedes especificar una imagen personalizada o una Deep Learning VM Image.

  • IMAGE_PROJECT: el proyecto de imagen de Compute Engine al que pertenece la familia de imágenes Si usas una imagen personalizada o una Deep Learning VM Image, especifica el proyecto al que pertenecen esas imágenes.

  • DISK_SIZE: El tamaño de tu disco de arranque en GB Especifica un tamaño de disco de arranque de al menos 40 GB.

  • NETWORK: la red de VPC que quieres usar para la VM Puedes especificar default para usar tu red predeterminada

Siguiente: Instala el controlador de GPU en tu VM para que tu sistema pueda usar el dispositivo. Para las GPU A100, se requiere CUDA 11.

Ejemplos (GPU A100)

En estos ejemplos, las VM se crean con GPU NVIDIA A100 conectadas mediante Google Cloud CLI. Sin embargo, también puedes usar Google Cloud Console o la API de Compute Engine para crear estas VM.

En los siguientes ejemplos, se muestra cómo crear VM mediante las siguientes imágenes:

Imagen de DLVM

El uso de imágenes DLVM es la forma más fácil de comenzar porque estas imágenes ya tienen preinstalados los controladores NVIDIA y las bibliotecas CUDA.

Estas imágenes también proporcionan optimizaciones de rendimiento.

Las siguientes imágenes de DLVM son compatibles con NVIDIA A100:

  • common-cu110: Controlador NVIDIA y CUDA preinstalados
  • tf-ent-1-15-cu110: controlador NVIDIA, CUDA y TensorFlow Enterprise 1.15.3 preinstalados
  • tf2-ent-2-1-cu110: controlador NVIDIA, CUDA y TensorFlow Enterprise 2.1.1 preinstalados
  • tf2-ent-2-3-cu110: controlador NVIDIA, CUDA y TensorFlow Enterprise 2.3.1 preinstalados
  • pytorch-1-6-cu110: controlador de NVIDIA, CUDA, Pytorch 1.6

Para obtener más información sobre las imágenes de DLVM disponibles y los paquetes instalados en ellas, consulta la documentación de VM de aprendizaje profundo.

  1. Crea una VM mediante la imagen tf2-ent-2-3-cu110 y el tipo de máquina a2-highgpu-1g. En este ejemplo, se especifican marcas opcionales, como el tamaño del disco de arranque y el permiso.

    gcloud compute instances create VM_NAME \
       --project PROJECT_ID \
       --zone us-central1-c \
       --machine-type a2-highgpu-1g \
       --maintenance-policy TERMINATE --restart-on-failure \
       --image-family tf2-ent-2-3-cu110 \
       --image-project deeplearning-platform-release \
       --boot-disk-size 200GB \
       --metadata "install-nvidia-driver=True,proxy-mode=project_editors" \
       --scopes https://www.googleapis.com/auth/cloud-platform
    

    Reemplaza lo siguiente:

    • VM_NAME: El nombre de tu VM.
    • PROJECT_ID: El ID de tu proyecto
  2. Con el comando de ejemplo anterior, también se genera un notebook de AI Platform para la VM. Para acceder al notebook, ve a la página AI Platform de Google Cloud Console.

    Ir a la página AI Platform

Imagen pública o personalizada

Puedes crear VM con GPU adjuntas que usen una imagen pública disponible en Compute Engine o una imagen personalizada.

Para crear una VM con la imagen más reciente y no obsoleta de la familia de imágenes de CentOS 7 y el tipo de máquina a2-highgpu-1g, sigue los pasos que se indican a continuación:

  1. Crea la VM. En este ejemplo, también se especifican marcas opcionales, como el tipo y el tamaño del disco de arranque.

    gcloud compute instances create VM_NAME \
        --project PROJECT_ID \
        --zone us-central1-c \
        --machine-type a2-highgpu-1g \
        --maintenance-policy TERMINATE --restart-on-failure \
        --image-family centos-7 \
        --image-project centos-cloud \
        --boot-disk-size 200GB \
        --boot-disk-type pd-ssd
    

    Reemplaza lo siguiente:

    • VM_NAME: El nombre de tu VM.
    • PROJECT_ID: El ID de tu proyecto
  2. Instala el controlador NVIDIA y CUDA. Para las GPU NVIDIA A100, se requiere la versión 11 o posterior de CUDA.

COS

Puedes crear VM con GPU conectadas que usen imágenes de Container-optimized (COS).

Para crear una VM con la imagen cos-85-lts y el tipo de máquina a2-highgpu-1g, completa los siguientes pasos desde tu cliente local. Los siguientes ejemplos se pueden ejecutar en un cliente de Mac o Linux:

  1. Si aún no existe uno, crea un directorio /tmp.

    mkdir /tmp
  2. Agrega un archivo de configuración /cloud-init.yaml al directorio /tmp.

    Esta información es necesaria para configurar tu VM de Container-optimized y, también, instala el controlador NVIDIA y CUDA cuando la VM se inicia.

    cat <<'EOF' > /tmp/cloud-init.yaml
    #cloud-config
    
    write_files:
      - path: /etc/systemd/system/cos-gpu-installer.service
        permissions: 0755
        owner: root
        content: |
          [Unit]
          Description=Run the GPU driver installer container
          Requires=network-online.target gcr-online.target
          After=network-online.target gcr-online.target
    
          [Service]
          User=root
          Type=oneshot
          RemainAfterExit=true
          Environment=INSTALL_DIR=/var/lib/nvidia
          ExecStartPre=/bin/mkdir -p ${INSTALL_DIR}
          ExecStartPre=/bin/mount --bind ${INSTALL_DIR} ${INSTALL_DIR}
          ExecStartPre=/bin/mount -o remount,exec ${INSTALL_DIR}
          ExecStart=/usr/bin/docker run --privileged \
                                        --net=host  \
                                        --pid=host \
                                        --volume ${INSTALL_DIR}:/usr/local/nvidia \
                                        --volume /dev:/dev \
                                        --volume /:/root \
                                        --env NVIDIA_DRIVER_VERSION=450.80.02 \
                                        gcr.io/cos-cloud/cos-gpu-installer:v20200701
          StandardOutput=journal+console
          StandardError=journal+console
    
    runcmd:
      - systemctl daemon-reload
      - systemctl enable cos-gpu-installer.service
      - systemctl start cos-gpu-installer.service
    
    EOF
    
  3. Crea una VM optimizada para contenedores con la familia de imágenes cos-85-lts y a2-highgpu-1g.

    Debes proporcionar el archivo de configuración mediante la marca -metadata-from-file user-data.

    En este ejemplo, también se especifica el tamaño del disco de arranque de la marca opcional.

    gcloud compute instances create VM_NAME \
       --project PROJECT_ID \
       --zone us-central1-a \
       --machine-type a2-highgpu-1g \
       --maintenance-policy TERMINATE --restart-on-failure \
       --image-family cos-85-lts \
       --image-project cos-cloud \
       --boot-disk-size 200GB \
       --metadata-from-file user-data=/tmp/cloud-init.yaml
    

    Reemplaza lo siguiente:

    • VM_NAME: El nombre de tu VM.
    • PROJECT_ID: El ID de tu proyecto

    Después de crear la VM, accede a ella y ejecuta el siguiente comando para verificar que el controlador de NVIDIA esté instalado.

    /var/lib/nvidia/bin/nvidia-smi

    El controlador demora aproximadamente 5 minutos en instalarse.

GPU de varias instancias (A100)

Una GPU de varias instancias particiona una sola GPU de NVIDIA A100 dentro de la misma VM en hasta siete instancias de GPU independientes. Se ejecutan de manera simultánea, cada uno con su propio procesador de memoria, caché y transmisión. Esta configuración permite que la GPU A100 entregue una calidad de servicio garantizada (QoS) hasta 7 veces mayor en comparación con los modelos de GPU anteriores. Con las GPU A100 de 40 GB, cada instancia de GPU de varias instancias puede asignarse hasta 5 GB de memoria, y con la capacidad de memoria aumentada de la GPU A100 de 80 GB, ese tamaño se puede duplicar a 10 GB.

Para obtener más información sobre el uso de GPU de varias instancias, consulta Guía del usuario de GPU de varias instancias de NVIDIA.

Para crear GPU de varias instancias, completa los siguientes pasos:

  1. Crea una VM con las GPU A100 conectadas.

  2. Habilita los controladores de GPU de NVIDIA.

  3. Habilita las GPU de varias instancias y reinicia la VM.

    sudo nvidia-smi -mig 1
    sudo reboot
    
  4. Revisa las formas de GPU de varias instancias que están disponibles.

    sudo nvidia-smi mig --list-gpu-instance-profiles
    

    El resultado es similar al siguiente:

    +--------------------------------------------------------------------------+
    | GPU instance profiles:                                                   |
    | GPU   Name          ID    Instances   Memory     P2P    SM    DEC   ENC  |
    |                           Free/Total   GiB              CE    JPEG  OFA  |
    |==========================================================================|
    |   0  MIG 1g.5gb     19     7/7        4.75       No     14     0     0   |
    |                                                          1     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 2g.10gb    14     3/3        9.75       No     28     1     0   |
    |                                                          2     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 3g.20gb     9     2/2        19.62      No     42     2     0   |
    |                                                          3     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 4g.20gb     5     1/1        19.62      No     56     2     0   |
    |                                                          4     0     0   |
    +--------------------------------------------------------------------------+
    |   0  MIG 7g.40gb     0     1/1        39.50      No     98     5     0   |
    |                                                          7     1     1   |
    +--------------------------------------------------------------------------+
    
  5. Crea la GPU de varias instancias (SIG) y las instancias de procesamiento asociadas (CI) que desees. Puedes crear estas instancias si especificas el nombre completo o abreviado del nombre del perfil, el ID del perfil, o una combinación de ambos. Para obtener más información, consulta Crea instancias de GPU.

    En el siguiente ejemplo, se crean dos instancias de GPU MIG 3g.20gb mediante una combinación del nombre del perfil abreviado (3g.20gb) y el ID del perfil (9).

    También se especifica la marca -C, que crea las instancias de procesamiento asociadas con el perfil requerido.

    sudo nvidia-smi mig -cgi 9,3g.20gb -C
    

    El resultado es similar al siguiente:

    Successfully created GPU instance ID  2 on GPU  0 using profile MIG 3g.20gb (ID  9)
    Successfully created compute instance ID  0 on GPU  0 GPU instance ID  2 using profile MIG 3g.20gb (ID  2)
    Successfully created GPU instance ID  1 on GPU  0 using profile MIG 3g.20gb (ID  9)
    Successfully created compute instance ID  0 on GPU  0 GPU instance ID  1 using profile MIG 3g.20gb (ID  2)
    
  6. Verifica que se creen ambas GPU de varias instancias:

    sudo nvidia-smi mig -lgi
    

    El resultado es similar al siguiente:

    +----------------------------------------------------+
    | GPU instances:                                     |
    | GPU   Name          Profile  Instance   Placement  |
    |                       ID       ID       Start:Size |
    |====================================================|
    |   0  MIG 3g.20gb       9        1          0:4     |
    +----------------------------------------------------+
    |   0  MIG 3g.20gb       9        2          4:4     |
    +----------------------------------------------------+
    
  7. Comprueba que se hayan creado las GI y las IC correspondientes.

    sudo nvidia-smi
    

    El resultado es similar a este:

    Tue May 18 18:32:22 2021
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 450.80.02    Driver Version: 450.80.02    CUDA Version: 11.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  A100-SXM4-40GB      Off  | 00000000:00:04.0 Off |                   On |
    | N/A   43C    P0    52W / 350W |     22MiB / 40537MiB |     N/A      Default |
    |                               |                      |              Enabled |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | MIG devices:                                                                |
    +------------------+----------------------+-----------+-----------------------+
    | GPU  GI  CI  MIG |         Memory-Usage |        Vol|         Shared        |
    |      ID  ID  Dev |           BAR1-Usage | SM     Unc| CE  ENC  DEC  OFA  JPG|
    |                  |                      |        ECC|                       |
    |==================+======================+===========+=======================|
    |  0    1   0   0  |     11MiB / 20096MiB | 42      0 |  3   0    2    0    0 |
    |                  |      0MiB / 32767MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    |  0    2   0   1  |     11MiB / 20096MiB | 42      0 |  3   0    2    0    0 |
    |                  |      0MiB / 32767MiB |           |                       |
    +------------------+----------------------+-----------+-----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

Crea una VM con GPU conectadas (otros tipos de GPU)

En esta sección, se describe cómo crear VM con 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

GPU de estación de trabajo virtual NVIDIA RTX (antes conocidas 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 de NVIDIA RTX a tu VM.

Console

  1. En Google Cloud Console, ve a la página Crea una instancia.

    Ir a Crear una instancia

  2. Especifica un Nombre para la VM. Para obtener más información, consulta Convención de asignación de nombres de recursos.

  3. Selecciona una región y una zona que admitan el modelo de GPU.

    Para obtener información sobre los modelos de GPU compatibles con diferentes regiones y zonas, consulta Regiones y zonas de GPU y disponibilidad.

  4. En la sección Configuración de la máquina, completa los siguientes pasos:

    1. En Serie, selecciona N1.
    2. En Tipo de máquina, selecciona un tipo de máquina N1. Como alternativa, puedes especificar una configuración de tipo personalizado de máquina.
    3. Expande la sección Plataforma de CPU y GPU.

      1. Haz clic en Agregar GPU.
      2. Especifica el Tipo de GPU y la Cantidad de GPU.
      3. Si tu modelo de GPU es compatible con estaciones de trabajo virtuales y planeas ejecutar cargas de trabajo de alto contenido gráfico en esta VM, selecciona Habilitar Virtual Workstation (NVIDIA GRID).

        Si deseas obtener información sobre las estaciones de trabajo virtuales de NVIDIA RTX, consulta las estaciones de trabajo virtuales de NVIDIA RTX para cargas de trabajo de gráficos (antes conocidas como NVIDIA GRID).

  5. Para seleccionar tu sistema operativo, en la sección Disco de arranque, haz clic en Cambiar. Se abrirá la página Configuración del disco de arranque.

  6. En la página Configuración del disco de arranque, haz lo siguiente:

    1. En la pestaña Imágenes públicas, elige una imagen de Compute Engine compatible o una Deep Learning VM Image.
    2. Especifica un tamaño de disco de arranque de al menos 40 GB.
    3. Para confirmar las opciones del disco de arranque, haz clic en Guardar.
  7. Establece otra configuración de VM que necesites. Por ejemplo, puedes cambiar la configuración de Interrumpibilidad para establecer tu VM como VM interrumpible. Esto reduce el costo de tu VM y las GPU adjuntas. Para obtener más información, consulta GPU en VM interrumpibles.

  8. Para crear y, también, iniciar la VM, haz clic en Crear.

gcloud

Para crear y, luego, iniciar una VM, usa el comando gcloud compute instances create con las siguientes marcas.

--preemptible es una marca opcional que configura tu VM como una instancia interrumpible. Esto reduce el costo de tu VM y las GPU adjuntas. Para obtener más información, consulta GPU en instancias interrumpibles.

gcloud compute instances create VM_NAME \
    --machine-type MACHINE_TYPE \
    --zone ZONE \
    --boot-disk-size DISK_SIZE \
    --accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    --image-project IMAGE_PROJECT \
    --maintenance-policy TERMINATE --restart-on-failure \
    [--preemptible]

Reemplaza lo siguiente:

  • VM_NAME: el nombre de la VM nueva
  • MACHINE_TYPE: El tipo de máquina que seleccionaste para la VM.
  • ZONE: La zona para la VM. Esta zona debe ser compatible con el tipo de GPU especificado.
  • DISK_SIZE: El tamaño de tu disco de arranque en GB Especifica un tamaño de disco de arranque de al menos 40 GB.
  • IMAGE o IMAGE_FAMILY que admiten GPU Especifica una de las siguientes opciones:

    • IMAGE: Es la versión requerida de una imagen pública. Por ejemplo, --image debian-10-buster-v20200309.
    • IMAGE_FAMILY: Es una familia de imágenes. Esto crea la VM a partir de la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas --image-family debian-10, Compute Engine crea una VM a partir de la última versión de la imagen de SO en la familia de imágenes Debian 10.

    También puedes especificar una imagen personalizada o una Deep Learning VM Image.

  • IMAGE_PROJECT: el proyecto de imagen de Compute Engine al que pertenece la familia de imágenes Si usas una imagen personalizada o una Deep Learning VM Image, especifica el proyecto al que pertenecen esas imágenes.

  • ACCELERATOR_COUNT: la cantidad de GPU que deseas agregar a tu VM Consulta GPU en Compute Engine para obtener una lista de los límites de GPU en función del tipo de máquina de tu VM.

  • ACCELERATOR_TYPE: el modelo de GPU que deseas usar. 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
    • GPU de estación de trabajo virtual NVIDIA RTX (antes conocidas 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 de NVIDIA RTX a tu VM.

Ejemplo

Por ejemplo, puedes usar el siguiente comando gcloud para iniciar una VM de Ubuntu 16.04 con 1 GPU NVIDIA K80 y 2 CPU virtuales en la zona us-east1-d.

gcloud compute instances create gpu-instance-1 \
    --machine-type n1-standard-2 \
    --zone us-east1-d \
    --boot-disk-size 40GB \
    --accelerator type=nvidia-tesla-k80,count=1 \
    --image-family ubuntu-1604-lts \
    --image-project ubuntu-os-cloud \
    --maintenance-policy TERMINATE --restart-on-failure

API

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

"preemptible": true es un parámetro opcional que configura tu VM como una instancia interrumpible. Esto reduce el costo de tu VM y las GPU adjuntas. Para obtener más información, consulta GPU en instancias interrumpibles.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes

Reemplaza lo siguiente:

  • PROJECT_ID: ID del proyecto
  • ZONE: la zona desde la que deseas enumerar los tipos de GPU disponibles.

En la API, crea una solicitud para el método instances.insert. Incluye el parámetro acceleratorType a fin de especificar qué tipo de GPU deseas usar y el parámetro acceleratorCount para especificar cuántas GPU deseas agregar. Establece también el parámetro onHostMaintenance en TERMINATE.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks":
  [
    {
      "type": "PERSISTENT",
      "initializeParams":
      {
        "diskSizeGb": "DISK_SIZE",
        "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "boot": true
    }
  ],
  "name": "VM_NAME",
  "networkInterfaces":
  [
    {
      "network": "projects/PROJECT_ID/global/networks/NETWORK"
    }
  ],
  "guestAccelerators":
  [
    {
      "acceleratorCount": ACCELERATOR_COUNT,
      "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
    }
  ],
  "scheduling":
  {
    "onHostMaintenance": "terminate",
    "automaticRestart": true,
    ["preemptible": true]
  },
}

Reemplaza lo siguiente:

  • VM_NAME: el nombre de la VM
  • PROJECT_ID: el ID de tu proyecto
  • ZONE: La zona para la VM. Esta zona debe ser compatible con el tipo de GPU especificado.
  • MACHINE_TYPE: El tipo de máquina que seleccionaste para la instancia. Consulta GPU en Compute Engine para ver qué tipos de máquinas están disponibles en función del conteo de GPU deseado
  • IMAGE o IMAGE_FAMILY: Especifica una de las siguientes opciones:

    • IMAGE: Especifica la versión requerida de una imagen pública. Por ejemplo:"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
    • IMAGE_FAMILY: Es una familia de imágenes. Esto crea la VM a partir de la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas "sourceImage": "projects/debian-cloud/global/images/family/debian-10", Compute Engine crea una VM a partir de la última versión de la imagen de SO en la familia de imágenes Debian 10.

    También puedes especificar una imagen personalizada o una Deep Learning VM Image.

  • IMAGE_PROJECT: el proyecto de imagen de Compute Engine al que pertenece la familia de imágenes Si usas una imagen personalizada o una Deep Learning VM Image, especifica el proyecto al que pertenecen esas imágenes.

  • DISK_SIZE: El tamaño de tu disco de arranque en GB Especifica un tamaño de disco de arranque de al menos 40 GB.

  • NETWORK: la red de VPC que deseas usar para la VM Puedes especificar default para usar tu red predeterminada

  • ACCELERATOR_COUNT: la cantidad de GPU que deseas agregar a tu VM Consulta GPU en Compute Engine para obtener una lista de los límites de GPU en función del tipo de máquina de tu VM.

  • ACCELERATOR_TYPE: el modelo de GPU que deseas usar. 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
    • GPU de estación de trabajo virtual NVIDIA RTX (antes conocidas 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 de NVIDIA RTX a tu VM.

Siguiente: Para asegurarte de que tu sistema pueda usar las GPU, completa los siguientes pasos:

Próximos pasos