Este documento explica como criar uma VM que usa um tipo de máquina das séries de máquinas A3 High, A3 Mega, A3 Edge, A2 e G2. Para saber como criar VMs com GPUs anexadas, consulte o artigo Vista geral da criação de uma instância com GPUs anexadas.
Antes de começar
- Para rever as limitações e os passos de pré-requisitos adicionais para criar instâncias com GPUs anexadas, como selecionar uma imagem do SO e verificar a quota de GPU, consulte a vista geral 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 init
Se 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 init
Se 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.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 especificar uma sub-rede para a sua VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida -
Para especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto -
Para atribuir um endereço IP externo à VM quando usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida -
Para atribuir uma rede antiga à VM:
compute.networks.use
no projeto -
Para atribuir um endereço IP externo à VM quando usar uma rede antiga:
compute.networks.useExternalIp
no projeto -
Para definir os metadados da instância de VM para a VM:
compute.instances.setMetadata
no projeto -
Para definir etiquetas para a VM:
compute.instances.setTags
na VM -
Para definir etiquetas 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 de leitura ou leitura/escrita:
compute.disks.use
no disco -
Para anexar um disco existente no modo de leitura:
compute.disks.useReadOnly
no 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 A3 High, A3 Mega, A3 Edge, A2 ou G2 através da Google Cloud consola, da CLI Google Cloud ou da REST.
Para fazer algumas personalizações às suas VMs G2, pode ter de usar a Google Cloud CLI ou o REST. Consulte as limitações do G2.
Consola
Na Google Cloud consola, aceda à página Criar uma instância.
Especifique um Nome para a VM. Consulte a Convenção de nomenclatura de recursos.
Selecione uma região e uma zona onde as GPUs estão disponíveis. Consulte a lista de regiões e zonas de GPU disponíveis.
Na secção Configuração da máquina, selecione a família de máquinas GPUs.
Conclua um dos seguintes passos para selecionar um tipo de máquina predefinido ou personalizado com base na série de máquinas:
Para todas as séries de máquinas com GPU, pode selecionar um tipo de máquina predefinido da seguinte forma:
Na lista Tipo de GPU, selecione o tipo de GPU.
- Para VMs otimizadas para aceleradores A3 High, A3 Mega ou A3 Edge, selecione
NVIDIA H100 80GB
ouNVIDIA H100 80GB MEGA
. - Para VMs otimizadas para aceleradores A2, selecione
NVIDIA A100 40GB
ouNVIDIA A100 80GB
. - Para VMs otimizadas para aceleradores G2, selecione
NVIDIA L4
.
- Para VMs otimizadas para aceleradores A3 High, A3 Mega ou A3 Edge, selecione
Na lista Número de GPUs, selecione o número de GPUs.
Para a série de máquinas G2, pode selecionar um tipo de máquina personalizado da seguinte forma:
- Na lista Tipo de GPU, selecione
NVIDIA L4
. - Na secção Tipo de máquina, selecione Personalizado.
- Para especificar o número de vCPUs e a quantidade de memória para a instância, arraste os controlos de deslize ou introduza os valores nas caixas de texto. A consola apresenta um custo estimado para a instância à medida que altera o número de vCPUs e a memória.
- Na lista Tipo de GPU, selecione
Opcional: a série de máquinas G2 suporta estações de trabalho virtuais (vWS) NVIDIA RTX para cargas de trabalho de gráficos. Se planeia executar cargas de trabalho com grande exigência gráfica na sua VM G2, selecione Ativar estação de trabalho virtual (NVIDIA GRID).
Na secção Disco de arranque, 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 GB.
- Para confirmar as opções do disco de arranque, clique em Selecionar.
Opcional: configure o modelo de aprovisionamento. Por exemplo, se a sua carga de trabalho tiver tolerância a falhas e conseguir resistir a uma possível remoção preventiva de VMs, considere usar VMs do Spot para reduzir o custo das VMs e das GPUs associadas. Para mais informações, consulte o artigo GPUs on Spot VMs (GPUs em VMs Spot). Para tal, efetue os seguintes passos:
- Na secção Políticas de disponibilidade, selecione Spot na lista Modelo de aprovisionamento de VMs. Esta definição desativa as opções de reinício automático e manutenção do anfitrião para a MV.
- Opcional: na lista No encerramento da VM, selecione o que acontece quando o Compute Engine antecipa a VM:
- Para parar a VM durante a remoção preventiva, 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 create
com as seguintes flags. Não é possível migrar VMs com GPUs em direto. Certifique-se de que define a flag--maintenance-policy=TERMINATE
.As seguintes flags opcionais são apresentadas no comando de exemplo:
- A flag
--provisioning-model=SPOT
que configura as suas VMs como VMs Spot. Se a sua carga de trabalho for tolerante a falhas e puder resistir a uma possível preempção de VM, considere usar VMs Spot para reduzir o custo das suas VMs e das GPUs associadas. Para mais informações, consulte o artigo GPUs on Spot VMs (GPUs em VMs Spot). Para VMs Spot, as opções de reinício automático e manutenção do anfitrião estão desativadas. - A flag
--accelerator
para especificar uma estação de trabalho virtual. As estações de trabalho virtuais (vWS) NVIDIA RTX só são suportadas para VMs G2.
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=SPOT] \ [--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT]
VM_NAME
: o nome da nova VM.MACHINE_TYPE
: o tipo de máquina que selecionou. 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áquinas G2 também suportam memória personalizada. A memória tem de ser um múltiplo de 1024 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
.
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 GB. Especifique um tamanho do disco de arranque de, pelo menos, 40 GB.IMAGE
: uma imagem do sistema operativo que suporta GPUs. Se quiser usar a imagem mais recente numa família de imagens, substitua a flag--image
pela flag--image-family
e 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 imagens de VMs de aprendizagem profunda.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.VWS_ACCELERATOR_COUNT
: o número de GPUs virtuais de que precisa.
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âmetroonHostMaintenance
comoTERMINATE
. 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
: o tipo de máquina que selecionou. 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áquinas G2 também suportam memória personalizada. A memória tem de ser um múltiplo de 1024 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 quer 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"
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.
- Se a sua carga de trabalho for tolerante a falhas e puder suportar a remoção preventiva de VMs, considere usar VMs do Spot para reduzir o custo das suas VMs e das GPUs anexadas. Para mais informações, consulte o artigo
GPUs on Spot VMs (GPUs em VMs Spot).
Para especificar VMs de spot, adicione a opção
"provisioningModel": "SPOT"
ao seu pedido. Para VMs Spot, as opções de reinício automático e manutenção do anfitrião estão desativadas."scheduling": { "provisioningModel": "SPOT" }
- Para VMs G2, as estações de trabalho virtuais (vWS) NVIDIA RTX são suportadas. Para especificar uma estação de trabalho virtual, adicione a opção `guestAccelerators` ao seu pedido.
Substitua
VWS_ACCELERATOR_COUNT
pelo número de GPUs virtuais de que precisa."guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONEacceleratorTypes/nvidia-l4-vws" } ]
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 do Google Cloud. No entanto, também pode usar a API Google Cloud console ouREST para criar estas VMs.
Os exemplos seguintes mostram como criar VMs com as seguintes imagens:
- Deep Learning VM Images. Este exemplo usa a VM A2 Standard (
a2-highgpu-1g
). - Imagem otimizada para contentores (COS).
Este exemplo usa uma VM
a3-highgpu-8g
oua3-edgegpu-8g
. Imagem pública. Este exemplo usa uma VM G2.
COS (A3 Edge/High)
Pode criar VMs
a3-edgegpu-8g
oua3-highgpu-8g
com GPUs H100 anexadas através de imagens otimizadas para contentores (COS).Para obter instruções detalhadas sobre como criar estas VMs
a3-edgegpu-8g
oua3-highgpu-8g
que usam o SO otimizado para contentores, consulte o artigo Crie uma VM A3 com o GPUDirect-TCPX ativado.Imagem do SO pública (G2)
Pode criar VMs com GPUs anexadas que usam uma imagem pública disponível no Compute Engine ou uma imagem personalizada.
Para criar uma VM com a imagem não descontinuada mais recente da família de imagens do Rocky Linux 8 otimizado para Google Cloud que usa o tipo de máquina
g2-standard-8
e tem uma estação de trabalho virtual NVIDIA RTX, conclua os seguintes passos:Crie a VM. Neste exemplo, também são especificadas flags opcionais, como o tipo e o tamanho do disco de arranque.
gcloud compute instances create VM_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --machine-type=g2-standard-8 \ --maintenance-policy=TERMINATE --restart-on-failure \ --network-interface=nic-type=GVNIC \ --accelerator=type=nvidia-l4-vws,count=1 \ --image-family=rocky-linux-8-optimized-gcp \ --image-project=rocky-linux-cloud \ --boot-disk-size=200GB \ --boot-disk-type=pd-ssd
Substitua o seguinte:
VM_NAME
: o nome da sua VMPROJECT_ID
: o ID do seu projeto.ZONE
: a zona da VM.
Instale o controlador da NVIDIA e o CUDA. Para GPUs NVIDIA L4, é necessária a versão XX ou superior do CUDA.
Imagem DLVM (A2)
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 de 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.
Crie uma VM com a imagem
tf2-ent-2-3-cu110
e o tipo de máquinaa2-highgpu-1g
. Neste exemplo, são especificadas flags opcionais, como o tamanho do disco de arranque e o âmbito.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-platform
Substitua o seguinte:
VM_NAME
: o nome da sua VMPROJECT_ID
: o ID do seu projeto.ZONE
: a zona da 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.
GPU multi-instância (apenas VMs A3 e A2)
Uma GPU multi-instância divide uma única GPU NVIDIA H100 ou A100 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 H100 ou A100 ofereça uma qualidade de serviço (QoS) garantida 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 e H100 de 80 GB, a memória alocada duplica para 10 GB cada.
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 VM otimizada para aceleradores A3 High, A3 Mega, A3 Edge ou A2.
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.20gb
A flag
-C
també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.
- Adicione SSDs locais às suas instâncias. Os dispositivos SSD locais funcionam bem com GPUs quando as suas apps requerem armazenamento de alto desempenho.
- Instale os controladores da GPU.
- Se ativou uma estação de trabalho virtual NVIDIA RTX, instale um controlador para a estação de trabalho virtual.
- 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-09-19 UTC.
-