En este documento, se explica cómo crear una VM que tenga GPUs conectadas y usa una familia de máquinas N1.
Puedes usar la mayoría de los tipos de máquina N1, excepto N1 shared-core
.
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 un 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.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
compute.instances.create
en el proyecto -
Si deseas usar una imagen personalizada para crear la VM, sigue estos pasos:
compute.images.useReadOnly
en la imagen -
Para usar una instantánea a fin de crear la VM, haz lo siguiente:
compute.snapshots.useReadOnly
en la instantánea -
Si quieres usar una plantilla de instancias para crear la VM, sigue estos pasos:
compute.instanceTemplates.useReadOnly
en la plantilla de instancias -
Para asignar una red heredada a la VM, ejecuta
compute.networks.use
en el proyecto. -
Si deseas especificar una dirección IP estática para la VM:
compute.addresses.use
en el proyecto -
Para asignar una dirección IP externa a la VM cuando se usa una red heredada, ejecuta
compute.networks.useExternalIp
en el proyecto -
A fin de especificar una subred para tu VM:
compute.subnetworks.use
en el proyecto o en la subred elegida -
Para asignar una dirección IP externa a la VM cuando se usa una red de VPC,
compute.subnetworks.useExternalIp
en el proyecto o en la subred elegida. -
Para configurar los metadatos de la instancia de VM para la VM,
compute.instances.setMetadata
en el proyecto. -
Para configurar etiquetas en la VM, haz lo siguiente:
compute.instances.setTags
en la VM -
Para configurar etiquetas en la VM, haz lo siguiente:
compute.instances.setLabels
en la VM -
A fin de configurar una cuenta de servicio para que la VM use:
compute.instances.setServiceAccount
en la VM -
Crear un disco nuevo para la VM:
compute.disks.create
en el proyecto -
Para conectar un disco existente en modo de solo lectura o de lectura y escritura, usa
compute.disks.use
en el disco. -
Para conectar un disco existente en modo de solo lectura, haz lo siguiente:
compute.disks.useReadOnly
en el disco - NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
- 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 NVIDIA RTX Virtual Workstation (vWS) a tu VM.
En la consola de Google Cloud, ve a la página Crea una instancia.
Especifica un Nombre para la VM. Consulta la convención de asignación de nombres de recursos.
Selecciona una región y una zona en las que las GPU estén disponibles. Consulta la lista de zonas de GPU disponibles.
En la sección Configuración de la máquina, selecciona la familia de máquinas GPU y, luego, haz lo siguiente:
- En la lista Tipo de GPU, selecciona uno de los modelos de GPU compatibles con las máquinas N1.
- En la lista Cantidad de GPU, selecciona la cantidad.
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, selecciona Habilitar Estación de trabajo virtual (NVIDIA GRID):
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 personalizado de máquina.
En la sección Disco de arranque, haz clic en Cambiar. Se abrirá la página Configuración del disco de arranque.
En la página Configuración del disco de arranque, haz lo siguiente:
- En la pestaña Imágenes públicas, elige una imagen de Compute Engine compatible o una Deep Learning VM Image.
- Especifica un tamaño de disco de arranque de al menos 40 GB.
- Para confirmar las opciones del disco de arranque, haz clic en Seleccionar.
Expanda la sección Opciones avanzadas.
- Expande la sección Administración.
- 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.
- En la lista Reinicio automático, selecciona Desactivado.
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.
Para crear y, también, iniciar la VM, haz clic en Crear.
VM_NAME
: el nombre de la VM nuevaMACHINE_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
oIMAGE_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 Deep Learning VM Images, 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 T4:
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 NVIDIA RTX Virtual Workstation (vWS) a tu VM.
- Estación de trabajo virtual NVIDIA T4:
PROJECT_ID
: ID del proyectoZONE
: la zona desde la que deseas enumerar los tipos de GPU disponibles.VM_NAME
: el nombre de la VMPROJECT_ID
: el ID de tu proyectoZONE
: 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 deseadoIMAGE
oIMAGE_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 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 especificardefault
para usar tu red predeterminadaACCELERATOR_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 T4:
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.
- Estación de trabajo virtual NVIDIA T4:
- Si planeas ejecutar cargas de trabajo de alto procesamiento gráfico, como las de videojuegos y visualización, instala controladores para la estación de trabajo virtual de NVIDIA RTX.
- Para la mayoría de las cargas de trabajo, instala los controladores de GPU.
- Más información sobre las plataformas de GPU.
- Agrega SSD locales a tus instancias. Los dispositivos SSD locales se combinan bien con las GPU cuando tus apps requieren almacenamiento de alto rendimiento.
- Instala los controladores de GPU. Si habilitaste la estación de trabajo virtual NVIDIA RTX, instala un controlador para la estación de trabajo virtual.
- Para controlar el mantenimiento del host de la GPU, consulta la página sobre cómo controlar eventos de mantenimiento del host de la GPU.
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.
Roles obligatorios
Para obtener los permisos que necesitas a fin de finalizar de forma automática, pídele al administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) IAM en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.Este rol predefinido contiene los permisos necesarios para crear VM. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear VM:
También puedes obtener estos permisos con funciones personalizadas o con otras funciones predefinidas
Descripción general
Los siguientes modelos de GPU se pueden adjuntar a las VMs que usan familias de máquinas N1.
GPU de NVIDIA:
NVIDIA RTX Virtual Workstation (vWS) (antes conocida como NVIDIA GRID):
Crea una VM que tenga GPUs conectadas
Puedes crear una VM N1 que tenga GPU conectadas con la consola de Google Cloud, Google Cloud CLI o REST.
Console
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:
Ejemplo
Por ejemplo, puedes usar el siguiente comando
gcloud
para iniciar una VM de Ubuntu 22.04 con 1 GPU NVIDIA T4 y 2 CPU virtuales en la zonaus-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-t4,count=1 \ --image-family ubuntu-2204-lts \ --image-project ubuntu-os-cloud \ --maintenance-policy TERMINATE --restart-on-failure
REST
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.
El
"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:
Realiza una solicitud POST al método
instances.insert
. Incluye el parámetroacceleratorType
a fin de especificar qué tipo de GPU deseas usar y el parámetroacceleratorCount
para especificar cuántas GPU deseas agregar. Establece también el parámetroonHostMaintenance
enTERMINATE
.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:
Instalar controladores
Para instalar los controladores, elige una de las siguientes opciones:
Próximos pasos
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-09-03 (UTC)
-