É possível criar um grupo de VMs que tenham GPUs anexadas usando o processo de criação em massa. Com o processo de criação em massa, você tem uma validação antecipada em que a solicitação falha rapidamente se não for viável. Além disso, se você usar a sinalização de região, a API da instância em massa escolherá automaticamente a zona que tem capacidade para atender à solicitação. Para mais informações sobre a criação em massa de VMs, consulte Sobre a criação em massa de VMs.
Antes de começar
- Para analisar outras etapas de pré-requisito, como selecionar uma imagem do SO e verificar a cota da GPU, consulte o documento de visão geral.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
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
no projeto -
Usar uma imagem personalizada a fim de criar a VM:
compute.images.useReadOnly
na imagem -
Usar um snapshot para criar a VM:
compute.snapshots.useReadOnly
no snapshot -
Usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância -
Atribuir uma rede legada à VM:
compute.networks.use
no projeto -
Especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto -
Atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIp
no projeto -
Especificar uma sub-rede para a VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida -
Atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida -
Definir os metadados da instância de VM para a VM:
compute.instances.setMetadata
no projeto -
Definir tags para a VM:
compute.instances.setTags
na VM -
Definir rótulos para a VM:
compute.instances.setLabels
na VM -
Definir uma conta de serviço a ser usada pela VM:
compute.instances.setServiceAccount
na VM -
Criar um disco para a VM:
compute.disks.create
no projeto -
Anexar um disco atual no modo somente leitura ou de leitura e gravação:
compute.disks.use
no disco -
Anexar um disco atual no modo somente leitura:
compute.disks.useReadOnly
no disco - Para os tipos de máquina com otimização de aceleradores A3, há GPUs NVIDIA H100 de 80 GB conectadas.
- Para tipos de máquina otimizados para aceleradores A2, as GPUs NVIDIA A100 estão anexadas. Elas estão disponíveis nas opções A100 de 40 GB e A100 de 80 GB.
- Para os tipos de máquina otimizados para acelerador G2, as GPUs NVIDIA L4 estão anexadas.
A sinalização
--preemptible
que configura sua VM como uma instância preemptiva. Isso reduz o custo da VM e das GPUs anexadas. Para mais informações, consulte GPUs em instâncias preemptivas.A sinalização
--accelerator
para especificar uma estação de trabalho virtual. A NVIDIA RTX Virtual Workstations (vWS) é compatível apenas com VMs do G2.- nomes das VMs:
my-test-vm-1
,my-test-vm-2
- Cada VM tem duas GPUs anexadas, especificadas pelo tipo de máquina otimizador de otimização apropriado.
REGION
: a região das VMs. Essa região precisa ser compatível com o modelo de GPU selecionado.MACHINE_TYPE
: o tipo de máquina selecionado. Escolha uma das seguintes opções:- Um tipo de máquina A3.
- Um tipo de máquina A2
- Um tipo de máquina G2 Os tipos de máquina G2 também oferecem suporte à memória personalizada. A memória precisa ser um múltiplo de 1.024 MB e estar dentro do intervalo de memória compatível. 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 de sistema operacional compatível com GPUs.Se você quiser usar a imagem mais recente em uma família de imagens, substitua a sinalização
--image
pela sinalização--image-family
e defina o valor dela como uma imagem família compatível com GPUs. Por exemplo:--image-family=rocky-linux-8-optimized-gcp
.Também é possível especificar uma imagem personalizada ou Deep Learning VM Images
IMAGE_PROJECT
: o projeto de imagem do Compute Engine a que a imagem do SO pertence. Se estiver usando uma imagem personalizada ou Deep Learning VM Images, especifique o projeto a que essas imagens pertencem.VWS_ACCELERATOR_COUNT
: o número necessário de GPUs virtuais.- nomes das VMs:
my-test-vm-1
,my-test-vm-2
Cada VM tem duas GPUs anexadas, especificadas pelo tipo de máquina otimizador de otimização apropriado.
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
: ID do projetoREGION
: a região das VMs. Essa região precisa ser compatível com o modelo de GPU selecionado.MACHINE_TYPE
: o tipo de máquina selecionado. Escolha uma das seguintes opções:- Um tipo de máquina A2
- Um tipo de máquina G2 Os tipos de máquina G2 também oferecem suporte à memória personalizada. A memória precisa ser um múltiplo de 1.024 MB e estar dentro do intervalo de memória compatível. 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ê quer usar.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 do SO mais recente e não obsoleta nessa família. Para mais informações sobre quando usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
- Imagem específica:
É possível reduzir o custo da VM e das GPUs anexadas usando VMs preemptivas. Para mais informações, consulte GPUs em instâncias preemptivas. Para definir a VM como preemptiva, adicione a opção
"preemptible": true
à solicitação."scheduling": { "onHostMaintenance": "terminate", "automaticRestart": true, "preemptible": true }
Para VMs G2, a NVIDIA RTX Virtual Workstations (vWS) é compatível. 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" } ]
- Você não recebe descontos por uso prolongado e descontos por compromisso de uso flexível no caso de VMs que usam tipos de máquina A3 padrão.
- Só é possível usar tipos de máquina A3 padrão em determinadas regiões e zonas.
- Não é possível usar discos permanentes regionais em VMs que usam tipos de máquina A3 padrão.
- O tipo de máquina A3 padrão só está disponível na plataforma Sapphire Rapids.
- Se a VM usar um tipo de máquina A3 padrão, não será possível alterar o tipo. Para usar outro tipo de máquina, é preciso criar uma nova VM.
- Não é possível alterar nenhum outro tipo de máquina para o A3 padrão. Para usar um tipo de máquina A3 padrão, crie uma nova VM.
- Os tipos de máquina A3 padrão não dão suporte a locatários individuais.
- Não é possível executar os tipos de máquina A3 padrão em sistemas operacionais Windows.
- Você não recebe descontos por uso prolongado e descontos por compromisso de uso flexível no caso de VMs que usam tipos de máquina A2 padrão.
- Só é possível usar tipos de máquina padrão A2 em determinadas regiões e zonas.
- Não é possível usar discos permanentes regionais em VMs que usam tipos de máquina A2 padrão.
- Os tipos de máquina A2 padrão só estão disponíveis na plataforma Cascade Lake.
- Se a VM usa um tipo de máquina padrão A2, só é possível trocar esse tipo A2 por outro tipo A2. Não é possível mudar para outro tipo de máquina. Para mais informações, consulte Modificar VMs otimizadas para aceleradores.
- Não é possível usar o tipo de máquina padrão
a2-megagpu-16g
A2 em sistemas operacionais Windows. Ao usar sistemas operacionais Windows, escolha outro tipo de máquina A2. - Não é possível fazer um formato rápido dos SSDs locais anexados em VMs do Windows que usam tipos de máquina padrão A2. Para formatar esses SSDs locais, é preciso usar
o utilitário diskpart
e especificar
format fs=ntfs label=tmpfs
. - Os tipos de máquina A2 padrão não dão suporte a locatários individuais.
- Você não recebe descontos por uso prolongado e descontos por compromisso de uso flexível no caso de VMs que usam tipos de máquina A2 ultra.
- Você só pode usar tipos de máquinas A2 ultra em determinadas regiões e zonas.
- Não é possível usar discos permanentes regionais em VMs que usam tipos de máquina A2 ultra.
- Os tipos de máquina A2 ultra só estão disponíveis na plataforma Cascade Lake.
- Se a VM usa um tipo de máquina ultra A2, não é possível mudar o tipo de máquina. Se você precisar usar outro tipo de máquina ultra A2 ou qualquer outro tipo de máquina, crie uma nova VM.
- Não é possível trocar nenhum tipo de máquina por um tipo de máquina A2 ultra. Se você precisar criar uma VM que use uma série de máquinas A2 ultra, crie uma nova VM.
- Não é possível fazer um formato rápido dos SSDs locais anexados em VMs do Windows que usam tipos de máquina A2 ultra. Para formatar esses SSDs locais, é preciso usar
o utilitário diskpart
e especificar
format fs=ntfs label=tmpfs
. - Você não recebe descontos por uso prolongado e descontos por compromisso de uso flexível no caso de VMs que usam tipos de máquina G2 padrão.
- Só é possível usar os tipos de máquinas padrão G2 em determinadas regiões e zonas.
- Não é possível usar discos permanentes regionais em VMs que usam tipos de máquina padrão G2.
- Os tipos de máquina G2 padrão só estão disponíveis na plataforma Cascade Lake.
- Os discos permanentes padrão (
pd-standard
) não são compatíveis com VMs que usam tipos de máquina padrão G2. Para saber quais são os tipos de disco compatíveis, consulte Tipos de disco compatíveis com a G2. - Não é possível criar GPUs de várias instâncias nos tipos de máquina padrão G2.
- Se precisar mudar o tipo de máquina de uma VM G2, consulte Modificar VMs otimizadas para aceleradores.
- Não é possível usar o Deep Learning VM Images como discos de inicialização para suas VMs que usam os tipos de máquina padrão G2.
- O driver padrão atual para o Container-Optimized OS não oferece suporte a GPUs L4 em execução nos tipos de máquina G2. O Container-Optimized OS também é compatível apenas com um conjunto selecionado de drivers.
Se você quiser usar o Container-Optimized OS em tipos de máquina G2, leia as seguintes observações:
- Use uma versão do Container-Optimized OS que seja compatível com a versão mínima recomendada do driver NVIDIA ou
525.60.13
. Para mais informações, consulte as Notas de lançamento do Container-Optimized OS. - Ao instalar o driver,
especifique a versão mais recente disponível que funciona para as GPUs L4.
Por exemplo,
sudo cos-extensions install gpu -- -version=525.60.13
.
- Use uma versão do Container-Optimized OS que seja compatível com a versão mínima recomendada do driver NVIDIA ou
- Use a CLI do Google Cloud ou REST para criar VMs G2 nos seguintes cenários:
- Você quer especificar valores de memória personalizados.
- Você quer personalizar o número de núcleos de CPU visíveis.
- 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
. Consulte NVIDIA K80 EOL. - NVIDIA T4 Virtual Workstation:
nvidia-tesla-t4-vws
- NVIDIA P4 Virtual Workstation:
nvidia-tesla-p4-vws
NVIDIA P100 Virtual Workstation:
nvidia-tesla-p100-vws
Para essas estações de trabalho virtuais, uma licença da NVIDIA RTX Virtual Workstation (vWS) é adicionada automaticamente à VM.
- nomes das VMs:
my-test-vm-1
,my-test-vm-2
- VMs criadas em qualquer zona em
us-central1
compatível com GPUs - Cada VM tem duas GPUs T4 anexadas, especificadas usando o tipo e as sinalizações de contagem de aceleradores
- Cada VM tem drivers de GPU instalados
- Cada VM usa a Deep Learning VM Image
pytorch-latest-gpu-v20211028-debian-10
. - nomes das VMs:
my-test-vm-1
,my-test-vm-2
- VMs criadas em qualquer zona em
us-central1
compatível com GPUs - Cada VM tem duas GPUs T4 anexadas, especificadas usando o tipo e as sinalizações de contagem de aceleradores
- Cada VM tem drivers de GPU instalados
- Cada VM usa a Deep Learning VM Image
pytorch-latest-gpu-v20211028-debian-10
. - Consulte Monitorar o desempenho da GPU para mais informações sobre esse assunto.
- Para melhorar o desempenho da rede, consulte Usar uma largura de banda de rede maior.
- Para lidar com a manutenção do host da GPU, consulte Manipular eventos de manutenção do host da GPU.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções exigidas
Para receber as permissões necessárias para o encerramento automático, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.Esse papel predefinido contém as permissões necessárias para criar VMs. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para criar VMs:
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Visão geral
Ao criar VMs com GPUs anexadas usando a API de instância em massa, é possível optar por criar VMs em uma região (como
us-central1
) ou em uma zona específica, como (us-central1-a
).Se você especificar uma região, o Compute Engine colocará as VMs em qualquer zona dentro da região compatível com GPUs.
Criar grupos de VMs otimizadas para aceleradores
A família de máquinas com otimização de aceleradores está disponível nos tipos de máquinas A3 padrão, A2 padrão e ultra e G2 padrão.
Cada tipo de máquina com otimização de aceleradores tem um modelo específico de GPUs NVIDIA conectadas.
Para criar um grupo de VMs otimizadas para aceleradores, use a CLI do Google Cloud ou REST.
gcloud
Para criar um grupo de VMs, use o comando
gcloud compute instances bulk create
. Para mais informações sobre os parâmetros e como usar esse comando, consulte Criar VMs em massa.As seguintes sinalizações opcionais são mostradas no comando de exemplo:
Exemplo
Neste exemplo, criamos duas VMs que anexaram GPUs 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 --restart-on-failure \ [--preemptible] \ [--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT]
Substitua:
Quando bem-sucedida, a saída será assim:
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
Use o método
instances.bulkInsert
com os parâmetros necessários para criar várias VMs em uma zona. Para mais informações sobre os parâmetros e como usar esse comando, consulte Criar VMs em massa.Exemplo
Neste exemplo, criamos duas VMs que anexaram GPUs usando as seguintes especificações:
Substitua:
Outras configurações:
Limitações
Padrão A3
Padrão A2
A2 ultra
Padrão G2
Criar grupos de VMs de uso geral N1
Para criar um grupo de VMs com GPUs anexadas, use a CLI do Google Cloud ou REST.
Nesta seção, descrevemos como criar várias VMs usando os seguintes tipos de GPU:
GPUs NVIDIA:
NVIDIA RTX Virtual Workstation (vWS) (anteriormente conhecida como NVIDIA GRID):
gcloud
Para criar um grupo de VMs, use o comando
gcloud compute instances bulk create
. Para 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
Quando bem-sucedida, a saída será assim:
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
Use o método
instances.bulkInsert
com os parâmetros necessários para criar várias VMs em uma zona. Para 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
pela 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" } ] } } }
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 2024-11-21 UTC.
-