Este documento explica como criar uma instância de máquina virtual (VM) que usa um tipo de máquina da série de máquinas otimizadas para aceleradores A2 ou A3 High.
Para os tipos de máquinas A3 High, este documento apenas abrange os tipos de máquinas que têm menos de 8 GPUs anexadas. Estes tipos de máquinas A3 High com menos de 8 GPUs só podem ser criados como VMs Spot ou VMs de início flexível. Para criar uma instância A3 com 8 GPUs anexadas, consulte o artigo Crie uma instância A3 Mega, A3 High ou A3 Edge com o GPUDirect ativado.
Para criar várias VMs A3 ou A2, também pode usar uma das seguintes opções:
- Grupos de instâncias geridas (GIGs): para cargas de trabalho que requerem elevada disponibilidade, escalabilidade e reparações automáticas, pode criar um GIG que use um modelo de instância de GPU.
- Criação de instâncias em massa: para criar um grande número de instâncias independentes, pode criar VMs A3 ou A2 em massa.
Antes de começar
- Para rever as limitações e os passos pré-requisitos adicionais para criar instâncias com GPUs anexadas, como selecionar uma imagem do SO e verificar a quota de GPU, consulte o resumo da criação de uma instância com GPUs anexadas.
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
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
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud initSe estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud initSe estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Funções necessárias
Para receber as autorizações necessárias para criar VMs, peça ao seu administrador para lhe conceder a função de IAM Administrador de instâncias do Compute (v1) (
roles/compute.instanceAdmin.v1) no projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.Esta função predefinida contém as autorizações necessárias para criar VMs. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
As seguintes autorizações são necessárias para criar VMs:
-
compute.instances.createno projeto -
Para usar uma imagem personalizada para criar a VM:
compute.images.useReadOnlyna imagem -
Para usar um instantâneo para criar a VM:
compute.snapshots.useReadOnlyno instantâneo -
Para usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnlyno modelo de instância -
Para especificar uma sub-rede para a sua VM:
compute.subnetworks.useno projeto ou na sub-rede escolhida -
Para especificar um endereço IP estático para a VM:
compute.addresses.useno projeto -
Para atribuir um endereço IP externo à VM quando usar uma rede VPC:
compute.subnetworks.useExternalIpno projeto ou na sub-rede escolhida -
Para atribuir uma rede antiga à VM:
compute.networks.useno projeto -
Para atribuir um endereço IP externo à VM quando usar uma rede antiga:
compute.networks.useExternalIpno projeto -
Para definir os metadados da instância de VM para a VM:
compute.instances.setMetadatano projeto -
Para definir etiquetas para a VM:
compute.instances.setTagsna VM -
Para definir etiquetas para a VM:
compute.instances.setLabelsna VM -
Para definir uma conta de serviço para a VM usar:
compute.instances.setServiceAccountna VM -
Para criar um novo disco para a VM:
compute.disks.createno projeto -
Para anexar um disco existente no modo de leitura ou leitura/escrita:
compute.disks.useno disco -
Para anexar um disco existente no modo de leitura:
compute.disks.useReadOnlyno disco
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Crie uma VM com GPUs anexadas
Pode criar uma VM otimizada para aceleradores A2 ou A3 através da Google Cloud consola, da Google Cloud CLI ou da REST.
Consola
- Na Google Cloud consola, aceda à página Criar uma instância.
Aceda a Criar uma instância - No campo Nome, introduza um nome exclusivo para a sua instância. Consulte a convenção de nomenclatura de recursos.
- Selecione uma região e uma zona onde estes tipos de máquinas de GPU estão disponíveis. Consulte as regiões e zonas de GPU.
- Na secção de tipos de máquinas, selecione GPUs.
- Na lista Tipo de GPU, selecione o tipo de GPU.
- Para VMs otimizadas para o acelerador A2, selecione
NVIDIA A100 40GBouNVIDIA A100 80GB - Para VMs otimizadas pelo acelerador A3, selecione
NVIDIA H100 80GB
- Para VMs otimizadas para o acelerador A2, selecione
- Na lista Número de GPUs, selecione o número de GPUs.
- Na lista Tipo de GPU, selecione o tipo de GPU.
- Configure o disco de arranque da seguinte forma:
- Na secção SO e armazenamento, clique em Alterar. É apresentada a página Configuração do disco de arranque.
- Na página Configuração do disco de arranque, faça o seguinte:
- No separador Imagens públicas, escolha uma imagem do Compute Engine suportada ou imagens de VMs de aprendizagem avançada.
- Especifique um tamanho do disco de arranque de, pelo menos, 40 GiB.
- Para confirmar as opções do disco de arranque, clique em Selecionar.
- Configure o modelo de aprovisionamento.
Na secção Opções avançadas, em Modelo de aprovisionamento de VMs,
selecione uma das seguintes opções:
- Padrão: para cargas de trabalho de uso geral.
- Flex-start: para cargas de trabalho de curta duração que podem tolerar uma hora de início flexível. Para mais informações, consulte o artigo Acerca das VMs de início flexível.
- Spot: para cargas de trabalho com tolerância a falhas que podem ser anuladas. Para mais informações, consulte o artigo VMs do Spot.
- Opcional: na lista No encerramento da VM, selecione o que acontece quando o Compute Engine antecipa as VMs de capacidade instantânea ou as VMs de início flexível atingem o fim da respetiva duração de execução:
- Para parar a VM durante a preempção, selecione Parar (predefinição).
- Para eliminar a VM durante a preempção, selecione Eliminar.
- Para criar e iniciar a VM, clique em Criar.
gcloud
Para criar e iniciar uma VM, use o comando
gcloud compute instances createcom as seguintes flags. Não é possível migrar VMs com GPUs em direto. Por isso, certifique-se de que define a flag--maintenance-policy=TERMINATE.O comando de exemplo também mostra a flag
--provisioning-model. Este sinalizador define o modelo de aprovisionamento para a VM. Esta flag é obrigatória quando cria tipos de máquinas A3 com menos de 8 GPUs e tem de ser definida comoSPOTouFLEX_START. Para os tipos de máquinas A2, esta flag é opcional. Se não especificar um modelo, é usado o modelo de aprovisionamento padrão. Para mais informações, consulte o artigo Modelos de aprovisionamento de instâncias do Compute Engine. Substitua o seguinte:gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --zone=ZONE \ --boot-disk-size=DISK_SIZE \ --image=IMAGE \ --image-project=IMAGE_PROJECT \ --maintenance-policy=TERMINATE \ --provisioning-model=PROVISIONING_MODELVM_NAME: o nome da nova VM.MACHINE_TYPE: um tipo de máquina A2 ou um tipo de máquina A3 com 1, 2 ou 4 GPUs. Para os tipos de máquinas A3, tem de especificar um modelo de aprovisionamento.ZONE: a zona da VM. Esta zona tem de ser compatível com o modelo de GPU selecionado.DISK_SIZE: o tamanho do disco de arranque em GiB. Especifique um tamanho do disco de arranque de, pelo menos, 40 GiB.IMAGE: uma imagem do sistema operativo que suporta GPUs. Se quiser usar a imagem mais recente numa família de imagens, substitua a flag--imagepela flag--image-familye defina o respetivo valor para uma família de imagens que suporte GPUs. Por exemplo:--image-family=rocky-linux-8-optimized-gcp.
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 usar uma imagem personalizada ou imagens de VMs de aprendizagem profunda, especifique o projeto ao qual essas imagens pertencem.PROVISIONING_MODEL: o modelo de aprovisionamento a usar para criar a VM. Pode especificarSPOTouFLEX_START. Se remover a flag--provisioning-modeldo comando, é usado o modelo de aprovisionamento padrão. Esta flag é obrigatória quando cria VMs A3 com menos de 8 GPUs.
REST
Envie um pedido POST para o método
instances.insert. As VMs com GPUs não podem ser migradas em direto. Certifique-se de que define o parâmetroonHostMaintenancecomoTERMINATE. Substitua o seguinte: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": "SOURCE_IMAGE_URI" }, "boot": true } ], "name": "VM_NAME", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK" } ], "scheduling": { "onHostMaintenance": "terminate", "automaticRestart": true } }VM_NAME: o nome da nova VM.PROJECT_ID: o ID do projeto.ZONE: a zona da VM. Esta zona tem de ser compatível com o modelo de GPU selecionado.MACHINE_TYPE: um tipo de máquina A2 ou um tipo de máquina A3 com 1, 2 ou 4 GPUs. Para os tipos de máquinas A3, tem de especificar um modelo de aprovisionamento.PROVISIONING_MODEL: o modelo de aprovisionamento para a VM. EspecifiqueSPOTouFLEX_START. Este campo é obrigatório quando cria VMs A3 com menos de 8 GPUs. Para VMs A2, este campo é opcional. Se não especificar um modelo, é usado o modelo de aprovisionamento padrão. Para mais informações, consulte o artigo Modelos de aprovisionamento de instâncias do Compute Engine.SOURCE_IMAGE_URI: o URI da imagem ou família de imagens específica que quer usar. Por exemplo:- Imagem específica:
"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-10-optimized-gcp-v20251017" - Família de imagens:
"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-10-optimized-gcp"
- Imagem específica:
DISK_SIZE: o tamanho do disco de arranque em GB. Especifique um tamanho do disco de arranque de, pelo menos, 40 GB.NETWORK: a rede VPC que quer usar para a VM. Pode especificar `default` para usar a sua rede predefinida.
- Para especificar um modelo de aprovisionamento, adicione o campo
"provisioningModel": "PROVISIONING_MODEL"ao objetoschedulingno seu pedido. Isto é necessário para tipos de máquinas A3 com menos de 8 GPUs. Se especificar a criação de VMs do Spot, os camposonHostMaintenanceeautomaticRestartsão ignorados."scheduling": { "onHostMaintenance": "terminate", "automaticRestart": true, "provisioningModel": "PROVISIONING_MODEL" }
Instale controladores
Para que a VM use a GPU, tem de instalar o controlador da GPU na VM.
Exemplos
Nestes exemplos, a maioria das VMs é criada através da CLI Google Cloud. No entanto, também pode usar o Google Cloud console ou oREST para criar estas VMs.
Os exemplos seguintes mostram como criar uma VM Spot A3 com uma imagem de SO padrão e uma VM A2 com uma imagem Deep Learning VM Images.
Crie uma VM Spot A3 usando a família de imagens do SO Debian 13
Este exemplo cria uma VM Spot A3 (
a3-highgpu-1g) usando a família de imagens do SO Debian 13.gcloud compute instances create VM_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --machine-type=a3-highgpu-1g \ --provisioning-model=SPOT \ --maintenance-policy=TERMINATE \ --image-family=debian-13 \ --image-project=debian-cloud \ --boot-disk-size=200GB \ --scopes=https://www.googleapis.com/auth/cloud-platformSubstitua o seguinte:
VM_NAME: o nome da sua instância de VMPROJECT_ID: o ID do seu projetoZONE: a zona da instância de VM
Crie uma VM A2 com uma instância de blocos de notas geridos pelo utilizador do Vertex AI Workbench na VM
Este exemplo cria uma VM A2 Standard (
a2-highgpu-1g) através da imagem Deep Learning VM Images.tf2-ent-2-3-cu110Neste exemplo, são especificadas flags opcionais, como o tamanho e o âmbito do disco de arranque.A utilização de imagens de DLVM é a forma mais fácil de começar, uma vez que estas imagens já têm os controladores da NVIDIA e as bibliotecas CUDA pré-instalados.
Estas imagens também oferecem otimizações de desempenho.
As seguintes imagens DLVM são suportadas para NVIDIA A100:
common-cu110: controlador NVIDIA e CUDA pré-instaladostf-ent-1-15-cu110: controlador NVIDIA, CUDA e TensorFlow Enterprise 1.15.3 pré-instaladostf2-ent-2-1-cu110: controlador NVIDIA, CUDA, TensorFlow Enterprise 2.1.1 pré-instaladotf2-ent-2-3-cu110: controlador NVIDIA, CUDA, TensorFlow Enterprise 2.3.1 pré-instaladopytorch-1-6-cu110: controlador NVIDIA, CUDA, Pytorch 1.6
Para mais informações sobre as imagens da DLVM disponíveis e os pacotes instalados nas imagens, consulte a documentação da Deep Learning VM.
gcloud compute instances create VM_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --machine-type=a2-highgpu-1g \ --maintenance-policy=TERMINATE \ --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-platformSubstitua o seguinte:
VM_NAME: o nome da sua instância de VMPROJECT_ID: o ID do seu projetoZONE: a zona da instância de VM
O comando de exemplo anterior também gera uma instância dos blocos de notas geridos pelo utilizador do Vertex AI Workbench para a VM. Para aceder ao bloco de notas, na Google Cloud consola, aceda à página Vertex AI Workbench > User-managed notebooks.
Aceda à página Notebooks geridos pelo utilizador
GPU de várias instâncias
Uma GPU multi-instância divide uma única GPU NVIDIA A100 ou NVIDIA H100 na mesma VM em até sete instâncias de GPU independentes. São executados em simultâneo, cada um com a sua própria memória, cache e multiprocessadores de streaming. Esta configuração permite que a GPU NVIDIA A100 e H100 ofereçam uma qualidade de serviço (QoS) consistente com uma utilização até 7 vezes superior em comparação com os modelos de GPU anteriores.
Pode criar até sete GPUs multi-instância. Para GPUs A100 de 40 GB, cada GPU de várias instâncias tem 5 GB de memória atribuídos. Com as GPUs A100 de 80 GB, a memória alocada duplica para 10 GB cada. Com as GPUs H100 de 80 GB, cada GPU de várias instâncias também tem 10 GB de memória atribuídos.
Para mais informações sobre a utilização de GPUs multi-instância, consulte o guia do utilizador de GPUs multi-instância da NVIDIA.
Para criar GPUs multi-instância, conclua os seguintes passos:
Crie uma instância de VM otimizada para aceleradores A2 (A100) ou A3 (H100).
Estabeleça ligação à instância de VM. Para mais informações, consulte os artigos Estabeleça ligação a VMs do Linux ou Estabeleça ligação a VMs do Windows.
Ative os controladores da GPU NVIDIA.
Ative as GPUs multi-instância.
sudo nvidia-smi -mig 1
Reveja os formatos de GPU de várias instâncias disponíveis.
sudo nvidia-smi mig --list-gpu-instance-profiles
O resultado é semelhante ao seguinte:
+-----------------------------------------------------------------------------+ | GPU instance profiles: | | GPU Name ID Instances Memory P2P SM DEC ENC | | Free/Total GiB CE JPEG OFA | |=============================================================================| | 0 MIG 1g.10gb 19 7/7 9.62 No 16 1 0 | | 1 1 0 | +-----------------------------------------------------------------------------+ | 0 MIG 1g.10gb+me 20 1/1 9.62 No 16 1 0 | | 1 1 1 | +-----------------------------------------------------------------------------+ | 0 MIG 1g.20gb 15 4/4 19.50 No 26 1 0 | | 1 1 0 | +-----------------------------------------------------------------------------+ | 0 MIG 2g.20gb 14 3/3 19.50 No 32 2 0 | | 2 2 0 | +-----------------------------------------------------------------------------+ | 0 MIG 3g.40gb 9 2/2 39.25 No 60 3 0 | | 3 3 0 | +-----------------------------------------------------------------------------+ .......
Crie a GPU multi-instância (GI) e as instâncias de computação (CI) associadas que quer. Pode criar estas instâncias especificando o nome do perfil completo ou abreviado, o ID do perfil ou uma combinação de ambos. Para mais informações, consulte Criar instâncias de GPU.
O exemplo seguinte cria duas instâncias de GPU usando o ID do perfil (
9).MIG 3g.20gbA flag
-Ctambém é especificada, o que cria as instâncias de computação associadas para o perfil necessário.sudo nvidia-smi mig -cgi 9,9 -C
Verifique se as duas GPUs multi-instância foram criadas:
sudo nvidia-smi mig -lgi
Verifique se os GIs e os CIs correspondentes foram criados.
sudo nvidia-smi
O resultado é semelhante ao seguinte:
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.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 NVIDIA H100 80G... Off | 00000000:04:00.0 Off | On | | N/A 33C P0 70W / 700W | 39MiB / 81559MiB | N/A Default | | | | Enabled | +-------------------------------+----------------------+----------------------+ | 1 NVIDIA H100 80G... Off | 00000000:05:00.0 Off | On | | N/A 32C P0 69W / 700W | 39MiB / 81559MiB | 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 | 19MiB / 40192MiB | 60 0 | 3 0 3 0 3 | | | 0MiB / 65535MiB | | | +------------------+----------------------+-----------+-----------------------+ | 0 2 0 1 | 19MiB / 40192MiB | 60 0 | 3 0 3 0 3 | | | 0MiB / 65535MiB | | | +------------------+----------------------+-----------+-----------------------+ ...... +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
O que se segue?
- Saiba mais sobre as plataformas de GPU.
- Para VMs A2, adicione um SSD local à sua VM. Os dispositivos SSD locais funcionam bem com GPUs quando as suas apps requerem armazenamento de alto desempenho. As VMs A3 têm um SSD local associado por predefinição.
- Instale os controladores da GPU.
- Para processar a manutenção do anfitrião da GPU, consulte o artigo Processar eventos de manutenção do anfitrião da GPU.
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-12-04 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-12-04 UTC."],[],[]] -