Você pode criar um grupo de máquinas virtuais (VMs) que possuem unidades de processamento gráfico (GPUs) anexadas usando o processo de criação em massa. Com o processo de criação em massa, você obtém validação inicial onde a solicitação falha rapidamente se não for viável. Além disso, se você usar o sinalizador de região, a API de criação em massa escolherá automaticamente a zona que tem capacidade para atender à solicitação.
Para saber mais sobre a criação em massa, consulte Sobre a criação em massa de VMs . Para saber mais sobre como criar VMs com GPUs anexadas, consulte Visão geral da criação de uma instância com GPUs anexadas .
Antes de começar
- Para revisar as limitações e etapas adicionais de pré-requisitos para a criação de instâncias com GPUs anexadas, como selecionar uma imagem do sistema operacional e verificar a cota de GPU, consulte Visão geral da criação de uma instância com GPUs anexadas .
- Para revisar as limitações da criação em massa, consulte Sobre a criação em massa de VMs .
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
compute.instances.create
no projeto - Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnly
na imagem - Para usar um instantâneo para criar a VM:
compute.snapshots.useReadOnly
no instantâneo - Para usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância - Para atribuir uma rede legada à VM:
compute.networks.use
no projeto - Para especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto - Para atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIp
no projeto - Para especificar uma sub-rede para sua VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida - Para atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida - Para definir metadados de instância de VM para a VM:
compute.instances.setMetadata
no projeto - Para definir tags para a VM:
compute.instances.setTags
na VM - Para definir rótulos para a VM:
compute.instances.setLabels
na VM - Para definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccount
na VM - Para criar um novo disco para a VM:
compute.disks.create
no projeto - Para anexar um disco existente no modo somente leitura ou leitura-gravação:
compute.disks.use
no disco - Para anexar um disco existente no modo somente leitura:
compute.disks.useReadOnly
no disco - Para tipos de máquinas otimizadas para acelerador A4 , GPUs NVIDIA B200 são anexadas.
- Para tipos de máquinas otimizadas para acelerador A3 , GPUs NVIDIA H100 de 80 GB ou NVIDIA H200 de 141 GB estão conectadas. Eles estão disponíveis nas seguintes opções:
- A3 Ultra : esses tipos de máquinas possuem GPUs H200 de 141 GB conectadas
- A3 Mega : esses tipos de máquinas possuem GPUs H100 de 80 GB conectadas
- A3 High : esses tipos de máquinas possuem GPUs H100 de 80 GB conectadas
- A3 Edge : esses tipos de máquinas possuem GPUs H100 de 80 GB conectadas
- Para tipos de máquinas otimizadas para acelerador A2 , GPUs NVIDIA A100 são anexadas. Eles estão disponíveis nas seguintes opções:
- A2 Ultra : esses tipos de máquinas possuem GPUs A100 de 80 GB conectadas
- Padrão A2 : esses tipos de máquinas possuem GPUs A100 de 40 GB conectadas
- Para tipos de máquinas otimizadas para acelerador G2 , GPUs NVIDIA L4 são anexadas.
O
--provisioning-model=SPOT
é um sinalizador opcional que configura suas VMs como Spot VMs. Se sua carga de trabalho for tolerante a falhas e puder suportar uma possível preempção de VM, considere usar VMs spot para reduzir o custo de suas VMs e das GPUs anexadas. Para obter mais informações, consulte GPUs em VMs Spot . Para VMs Spot, os sinalizadores de opções de reinicialização automática e manutenção do host estão desabilitados.O sinalizador
--accelerator
para especificar uma estação de trabalho virtual. As estações de trabalho virtuais NVIDIA RTX (vWS) são suportadas apenas para VMs G2.- Nomes de VM:
my-test-vm-1
,my-test-vm-2
- Cada VM tem duas GPUs anexadas, especificadas usando o tipo de máquina apropriada otimizada para acelerador
-
REGION
: a região das VMs. Esta região deve suportar o modelo de GPU selecionado . MACHINE_TYPE
: o tipo de máquina que você selecionou. Escolha um dos seguintes:- Uma máquina tipo A3 .
- Um tipo de máquina A2 .
- Um tipo de máquina G2 . Os tipos de máquinas G2 também suportam memória personalizada. A memória deve ser um múltiplo de 1.024 MB e estar dentro do intervalo de memória suportado. Por exemplo, para criar uma VM com 4 vCPUs e 19 GB de memória, especifique
--machine-type=g2-custom-4-19456
.
IMAGE
: uma imagem do sistema operacional que suporta GPUs .Se você quiser usar a imagem mais recente em uma família de imagens , substitua o sinalizador
--image
pelo sinalizador--image-family
e defina seu valor para uma família de imagens que suporte GPUs. Por exemplo:--image-family=rocky-linux-8-optimized-gcp
.Você também pode especificar uma imagem personalizada ou Deep Learning VM Images .
IMAGE_PROJECT
: o projeto de imagem do Compute Engine ao qual a imagem do SO pertence. Se estiver usando uma imagem personalizada ou imagens de VM de aprendizado profundo, especifique o projeto ao qual essas imagens pertencem.VWS_ACCELERATOR_COUNT
: o número de GPUs virtuais necessárias.- Nomes de VM:
my-test-vm-1
,my-test-vm-2
Cada VM tem duas GPUs anexadas, especificadas usando o tipo de máquina apropriada otimizada para acelerador
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
: o ID do seu projeto -
REGION
: a região das VMs. Esta região deve suportar o modelo de GPU selecionado . MACHINE_TYPE
: o tipo de máquina que você selecionou. Escolha um dos seguintes:- Um tipo de máquina A2 .
- Um tipo de máquina G2 . Os tipos de máquinas G2 também suportam memória personalizada. A memória deve ser um múltiplo de 1.024 MB e estar dentro do intervalo de memória suportado. Por exemplo, para criar uma VM com 4 vCPUs e 19 GB de memória, especifique
--machine-type=g2-custom-4-19456
.
SOURCE_IMAGE_URI
: o URI da imagem ou família de imagens específica que você deseja usar.Por exemplo:
- Imagem específica:
"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
- Família de imagens:
"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
.
Quando você especifica uma família de imagens, o Compute Engine cria uma VM a partir da imagem de sistema operacional mais recente e não obsoleta dessa família. Para obter mais informações sobre quando usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens .
- Imagem específica:
Se sua carga de trabalho for tolerante a falhas e puder suportar uma possível preempção de VM, considere usar VMs spot para reduzir o custo de suas VMs e das GPUs anexadas. Para obter mais informações, consulte GPUs em VMs Spot . Para usar uma VM Spot, adicione a opção
"provisioningModel": "SPOT
à sua solicitação. Para VMs Spot, os sinalizadores de opções de reinicialização automática e manutenção do host estão desabilitados."scheduling": { "provisioningModel": "SPOT" }
Para VMs G2, há suporte para estações de trabalho virtuais NVIDIA RTX (vWS). Para especificar uma estação de trabalho virtual, adicione a opção
guestAccelerators
à sua solicitação. SubstituaVWS_ACCELERATOR_COUNT
pelo número de GPUs virtuais necessárias."guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONEacceleratorTypes/nvidia-l4-vws" } ]
- NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
- Estação de trabalho virtual NVIDIA T4:
nvidia-tesla-t4-vws
- Estação de trabalho virtual NVIDIA P4:
nvidia-tesla-p4-vws
Estação de trabalho virtual NVIDIA P100:
nvidia-tesla-p100-vws
Para essas estações de trabalho virtuais, uma licença de estação de trabalho virtual NVIDIA RTX (vWS) é automaticamente adicionada à sua VM.
- Nomes de VM:
my-test-vm-1
,my-test-vm-2
- VMs criadas em qualquer zona em
us-central1
que suporte GPUs - Cada VM tem duas GPUs T4 anexadas, especificadas usando o tipo de acelerador e sinalizadores de contagem de acelerador
- Cada VM tem drivers de GPU instalados
- Cada VM usa a imagem de VM de Deep Learning
pytorch-latest-gpu-v20211028-debian-10
- Nomes de VM:
my-test-vm-1
,my-test-vm-2
- VMs criadas em qualquer zona em
us-central1
que suporte GPUs - Cada VM tem duas GPUs T4 anexadas, especificadas usando o tipo de acelerador e sinalizadores de contagem de acelerador
- Cada VM tem drivers de GPU instalados
- Cada VM usa a imagem de VM de Deep Learning
pytorch-latest-gpu-v20211028-debian-10
Aprenda como monitorar o desempenho da GPU .
Aprenda como usar maior largura de banda de rede .
Aprenda como lidar com eventos de manutenção de host de GPU .
- Saiba como visualizar o uso real e previsto de suas VMs e GPUs .
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções obrigatórias
Para obter as permissões necessárias para criar VMs, peça ao administrador para conceder a você a função do IAM Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .Esta função predefinida contém as permissões necessárias para criar VMs. Para ver as permissões exatas necessárias, expanda a seção Permissões necessárias :
Permissões necessárias
As seguintes permissões são necessárias para criar VMs:
Você também poderá obter essas permissões com funções personalizadas ou outras funções predefinidas .
Visão geral
Ao criar VMs com GPUs anexadas usando o método de criação em massa, você pode optar por criar VMs em uma região (como
us-central1
) ou em uma zona específica como (us-central1-a
).Se você optar por especificar uma região, o Compute Engine colocará as VMs em qualquer zona da região que ofereça suporte a GPUs.
Tipos de máquinas
A família de máquinas otimizadas para acelerador contém vários tipos de máquinas.
Cada tipo de máquina otimizada para acelerador possui um modelo específico de GPUs NVIDIA conectado.
Criar grupos de VMs A3, A2 e G2
Esta seção explica que você pode criar instâncias em massa para as séries de máquinas A3 High, A3 Mega, A3 Edge, A2 e G2 usando Google Cloud CLI ou REST .
gcloud
Para criar um grupo de VMs, use o comando
gcloud compute instances bulk create
. Para obter mais informações sobre os parâmetros e como usar esse comando, consulte Criar VMs em massa .Os seguintes sinalizadores opcionais são mostrados no comando de exemplo:
Exemplo
Este exemplo cria duas VMs que possuem GPUs anexadas usando as seguintes especificações:
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]
Substitua o seguinte:
Se for bem-sucedido, a saída será semelhante a esta:
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.]
DESCANSAR
Use o método
instances.bulkInsert
com os parâmetros necessários para criar diversas VMs em uma zona. Para obter mais informações sobre os parâmetros e como usar esse comando, consulte Criar VMs em massa .Exemplo
Este exemplo cria duas VMs que possuem GPUs anexadas usando as seguintes especificações:
Substitua o seguinte:
Configurações adicionais:
Criar grupos de VMs de uso geral N1
Você cria um grupo de VMs com GPUs anexadas usando a Google Cloud CLI ou REST .
Esta seção descreve como criar várias VMs usando os seguintes tipos de GPU:
GPUs NVIDIA:
Estação de trabalho virtual NVIDIA RTX (vWS) (anteriormente conhecida como NVIDIA GRID):
gcloud
Para criar um grupo de VMs, use o comando
gcloud compute instances bulk create
. Para obter mais informações sobre os parâmetros e como usar esse comando, consulte Criar VMs em massa .Exemplo
O exemplo a seguir cria duas VMs com GPUs anexadas usando as seguintes especificações:
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
Se for bem-sucedido, a saída será semelhante a esta:
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.]
DESCANSAR
Use o método
instances.bulkInsert
com os parâmetros necessários para criar diversas VMs em uma zona. Para obter mais informações sobre os parâmetros e como usar esse comando, consulte Criar VMs em massa .Exemplo
O exemplo a seguir cria duas VMs com GPUs anexadas usando as seguintes especificações:
Substitua
PROJECT_ID
pelo ID do seu projeto.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" } ] } } }
O que vem a seguir?
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-04-21 UTC.
-