Puedes crear un grupo de máquinas virtuales (VM) que tengan unidades de procesamiento gráfico (GPU) conectadas mediante el proceso de creación masiva. Con el proceso de creación masiva, obtienes una validación por adelantado en la que la solicitud falla rápido si no es factible. Además, si usas la marca de región, la API de creación masiva elige de forma automática la zona que tiene la capacidad de completar la solicitud. Para obtener más información sobre la creación masiva, consulta Acerca de la creación masiva de VMs.
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:
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 - 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
- A3 Standard (
- En los tipos de máquinas optimizados para aceleradores A2, se conectan las GPU 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
- A2 estándar (
- En los tipos de máquinas optimizados para aceleradores G2 (
g2-standard-*
), se conectan las GPU NVIDIA L4. --provisioning-model=SPOT
es una marca opcional que configura tus VMs como VMs Spot. Si tu carga de trabajo es tolerante a errores y puede admitir una posible interrupciónde la VM, considera usar VMs Spot para reducir el costo de tus VMs y las GPUs adjuntas. Para obtener más información, consulta GPU en VMs Spot. En el caso de las VMs Spot, las marcas de las opciones de reinicio automático y mantenimiento del host están inhabilitadas.La marca
--accelerator
para especificar una estación de trabajo virtual. Las estaciones de trabajo virtuales (vWS) NVIDIA RTX solo son compatibles con las VMs de G2.- Nombres de las VM:
my-test-vm-1
,my-test-vm-2
- Cada VM tiene dos GPU conectadas, especificadas mediante el tipo de máquina optimizado para aceleradores adecuado
REGION
: la región para las VMs. Esta región debe ser compatible con el modelo de GPU seleccionado.MACHINE_TYPE
: el tipo de máquina que seleccionaste. Elige una de las siguientes opciones:- Un tipo de máquina A3
- Un tipo de máquina A2
- Un 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
.
IMAGE
: una imagen del sistema operativo que admite GPU.Si deseas usar la imagen más reciente en una familia de imágenes, reemplaza la marca
--image
por la marca--image-family
y configura su valor en una familia de imágenes que admita GPU. Por ejemplo:--image-family=rocky-linux-8-optimized-gcp
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 imagen de SO. Si usas una imagen personalizada o una Deep Learning VM Image, especifica el proyecto al que pertenecen esas imágenes.VWS_ACCELERATOR_COUNT
es la cantidad de GPUs virtuales que necesitas.- Nombres de las VM:
my-test-vm-1
,my-test-vm-2
Cada VM tiene dos GPU conectadas, especificadas mediante el tipo de máquina optimizado para aceleradores adecuado
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "namePattern":"my-test-vm-#", "count":"2", "instanceProperties": { "machineType":MACHINE_TYPE, "disks":[ { "type":"PERSISTENT", "initializeParams":{ "diskSizeGb":"200", "sourceImage":SOURCE_IMAGE_URI }, "boot":true } ], "name": "default", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/default" } ], "scheduling":{ "onHostMaintenance":"TERMINATE", ["automaticRestart":true] } } }
PROJECT_ID
: El ID de tu proyectoREGION
: la región para las VMs. Esta región debe ser compatible con el modelo de GPU seleccionado.MACHINE_TYPE
: el tipo de máquina que seleccionaste. Elige una de las siguientes opciones:- Un tipo de máquina A2
- Un 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
.
SOURCE_IMAGE_URI
: el URI de la imagen o familia de imágenes específicas que deseas usar.Por ejemplo:
- Imagen específica:
"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
- Familia de imágenes:
"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
.
Cuando especificas una familia de imágenes, Compute Engine crea una VM a partir de la imagen de SO no obsoleta más reciente de esa familia. Para obtener más información sobre el balanceo de cargas, consulta Prácticas recomendadas para las familias de imágenes.
- Imagen específica:
Si tu carga de trabajo es tolerante a errores y puede admitir una posible interrupciónde la VM, considera usar VMs Spot para reducir el costo de tus VMs y las GPUs adjuntas. Para obtener más información, consulta GPU en VMs Spot. Para usar una VM Spot, agrega la opción
"provisioningModel": "SPOT
a tu solicitud. En el caso de las VMs Spot, las marcas de las opciones de reinicio automático y mantenimiento del host están inhabilitadas."scheduling": { "provisioningModel": "SPOT" }
Para las VM G2, se admiten estaciones de trabajo virtuales (vWS) de NVIDIA RTX. Para especificar una estación de trabajo virtual, agrega la opción
guestAccelerators
a tu solicitud. ReemplazaVWS_ACCELERATOR_COUNT
por la cantidad de GPU virtuales que necesitas."guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONEacceleratorTypes/nvidia-l4-vws" } ]
- No recibirás descuentos por uso continuo ni descuentos flexibles por compromiso de uso para las VMs que usan tipos de máquinas A3.
- Solo puedes usar los tipos de máquinas A3 estándar en ciertas regiones y zonas.
- No puedes usar discos persistentes regionales en VMs que usan tipos de máquinas A3.
- El tipo de máquina A3 solo está disponible en la plataforma Sapphire Rapids.
- Si tu VM usa un tipo de máquina A3, no puedes cambiar el tipo de máquina. Si necesitas cambiar el tipo de máquina, debes crear una VM nueva.
- No puedes cambiar el tipo de máquina de una VM a uno A3. Si necesitas una VM que use un tipo de máquina A3, debes crear una VM nueva.
- Los tipos de máquinas A3 no admiten usuarios únicos.
- No puedes ejecutar sistemas operativos Windows en tipos de máquinas A3.
- Solo puedes reservar tipos de máquinas A3 a través de ciertas reservas.
- 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.
- 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 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
. - 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.
Un ejemplo es
sudo cos-extensions install gpu -- -version=525.60.13
.
- Usa una versión de Container-Optimized OS que sea compatible con la versión mínima recomendada del controlador NVIDIA
- 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.
- 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.
- Nombres de las VM:
my-test-vm-1
,my-test-vm-2
- VM creadas en cualquier zona de
us-central1
que admita GPU - Cada VM tiene dos GPU T4 conectadas, especificadas mediante el tipo de acelerador y las marcas de recuento de aceleradores.
- Cada VM tiene instalados controladores de GPU
- Cada VM usa Deep Learning VM Image
pytorch-latest-gpu-v20211028-debian-10
- Nombres de las VM:
my-test-vm-1
,my-test-vm-2
- VM creadas en cualquier zona de
us-central1
que admita GPU - Cada VM tiene dos GPU T4 conectadas, especificadas mediante el tipo de acelerador y las marcas de recuento de aceleradores.
- Cada VM tiene instalados controladores de GPU
- Cada VM usa Deep Learning VM Image
pytorch-latest-gpu-v20211028-debian-10
Aprende a controlar el rendimiento de la GPU.
Obtén más información para usar un ancho de banda de red más alto.
Obtén información para controlar los eventos de mantenimiento del host de GPU.
Obtén información para ver el uso real y previsto de tus VMs y GPUs.
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 a proyectos, carpetas y organizaciones.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 roles personalizados o con otros roles predefinidos.
Descripción general
Cuando creas VMs con GPU conectadas mediante el método de creación masiva, puedes elegir crear VMs en una región (como
us-central1
) o en una zona específica, como (us-central1-a
).Si eliges especificar una región, Compute Engine coloca las VMs en cualquier zona dentro de la región que admite las GPU.
Crea grupos de VMs optimizadas para aceleradores
La familia de máquinas optimizadas para aceleradores está disponible en los tipos de máquinas A3 High y A3 Mega, A2 Standard y A2 Ultra y G2.
Cada tipo de máquina optimizada para acelerador tiene un modelo específico de GPU de NVIDIA conectada.
Puedes crear un grupo de VMs optimizadas para aceleradores mediante Google Cloud CLI o REST.
gcloud
Para crear un grupo de VMs, usa el comando
gcloud compute instances bulk create
. Para obtener más información sobre los parámetros y cómo usar este comando, consulta Crea VMs de forma masiva.Las siguientes marcas opcionales se muestran en el comando de muestra:
Ejemplo
En este ejemplo, se crean dos VMs que tienen GPUs conectadas mediante las siguientes especificaciones:
gcloud compute instances bulk create \ --name-pattern="my-test-vm-#" \ --region=REGION \ --count=2 \ --machine-type=MACHINE_TYPE \ --boot-disk-size=200 \ --image=IMAGE \ --image-project=IMAGE_PROJECT \ --on-host-maintenance=TERMINATE \ [--provisioning-model=SPOT] \ [--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT]
Reemplaza lo siguiente:
Si se ejecuta de forma correcta, el resultado es similar al siguiente:
NAME ZONE my-test-vm-1 us-central1-b my-test-vm-2 us-central1-b Bulk create request finished with status message: [VM instances created: 2, failed: 0.]
REST
Usa el método
instances.bulkInsert
con los parámetros necesarios para crear varias VM en una región. Para obtener más información sobre los parámetros y cómo usar este comando, consulta Crea VMs de forma masiva.Ejemplo
En este ejemplo, se crean dos VMs que tienen GPUs conectadas mediante las siguientes especificaciones:
Reemplaza lo siguiente:
Configuración adicional:
Limitaciones
VMs A3
Las siguientes limitaciones se aplican a las VMs que usan tipos de máquinas A3 High y A3 Mega:
VMs estándar A2
VMs A2 ultra
VMs G2
Crear grupos de VMs de uso general N1
Puedes crear un grupo de VMs con GPU conectadas mediante Google Cloud CLI o REST.
En esta sección, se describe cómo crear varias VM con los siguientes tipos de GPU:
GPU de NVIDIA:
NVIDIA RTX Virtual Workstation (vWS) (antes conocida como NVIDIA GRID):
gcloud
Para crear un grupo de VMs, usa el comando
gcloud compute instances bulk create
. Para obtener más información sobre los parámetros y cómo usar este comando, consulta Crea VMs de forma masiva.Ejemplo
En el siguiente ejemplo, se crean dos VMs con GPU conectadas mediante las siguientes especificaciones:
gcloud compute instances bulk create \ --name-pattern="my-test-vm-#" \ --count=2 \ --region=us-central1 \ --machine-type=n1-standard-2 \ --accelerator type=nvidia-tesla-t4,count=2 \ --boot-disk-size=200 \ --metadata="install-nvidia-driver=True" \ --scopes="https://www.googleapis.com/auth/cloud-platform" \ --image=pytorch-latest-gpu-v20211028-debian-10 \ --image-project=deeplearning-platform-release \ --on-host-maintenance=TERMINATE --restart-on-failure
Si se ejecuta de forma correcta, el resultado es similar al siguiente:
NAME ZONE my-test-vm-1 us-central1-b my-test-vm-2 us-central1-b Bulk create request finished with status message: [VM instances created: 2, failed: 0.]
REST
Usa el método
instances.bulkInsert
con los parámetros necesarios para crear varias VM en una región. Para obtener más información sobre los parámetros y cómo usar este comando, consulta Crea VMs de forma masiva.Ejemplo
En el siguiente ejemplo, se crean dos VMs con GPU conectadas mediante las siguientes especificaciones:
Reemplaza
PROJECT_ID
con el ID del proyecto.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/region/us-central1/instances/bulkInsert { "namePattern":"my-test-vm-#", "count":"2", "instanceProperties": { "machineType":"n1-standard-2", "disks":[ { "type":"PERSISTENT", "initializeParams":{ "diskSizeGb":"200", "sourceImage":"projects/deeplearning-platform-release/global/images/pytorch-latest-gpu-v20211028-debian-10" }, "boot":true } ], "name": "default", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/default" } ], "guestAccelerators": [ { "acceleratorCount": 2, "acceleratorType": "nvidia-tesla-t4" } ], "scheduling":{ "onHostMaintenance":"TERMINATE", "automaticRestart":true }, "metadata":{ "items":[ { "key":"install-nvidia-driver", "value":"True" } ] } } }
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-12-06 (UTC)
-