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 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 .
- 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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
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 No console do Google Cloud, acesse a página Criar uma instância .
Especifique um nome para sua VM. Consulte Convenção de nomenclatura de recursos .
Selecione uma região e zona onde as GPUs estão disponíveis. Veja a lista de regiões e zonas de GPU disponíveis.
Na seção Configuração da máquina , selecione a família de máquinas GPUs .
Conclua uma das etapas a seguir 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 GPU, você pode selecionar um tipo de máquina predefinido da seguinte forma:
Na lista de tipos de GPU , selecione seu tipo de GPU.
- Para VMs otimizadas para acelerador A3 High, A3 Mega ou A3 Edge, selecione
NVIDIA H100 80GB
ouNVIDIA H100 80GB MEGA
. - Para VMs otimizadas para acelerador A2, selecione
NVIDIA A100 40GB
ouNVIDIA A100 80GB
. - Para VMs otimizadas para acelerador G2, selecione
NVIDIA L4
.
- Para VMs otimizadas para acelerador 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, você pode selecionar um tipo de máquina personalizado da seguinte forma:
- Na lista de tipos de GPU , selecione
NVIDIA L4
. - Na seção Tipo de máquina , selecione Personalizado .
- Para especificar o número de vCPUs e a quantidade de memória da instância, arraste os controles deslizantes ou insira os valores nas caixas de texto. O console exibe um custo estimado para a instância conforme você altera o número de vCPUs e de memória.
- Na lista de tipos de GPU , selecione
Opcional: a série de máquinas G2 suporta estações de trabalho virtuais NVIDIA RTX (vWS) para cargas de trabalho gráficas . Se você planeja executar cargas de trabalho com uso intensivo de gráficos em sua VM G2, selecione Habilitar estação de trabalho virtual (NVIDIA GRID) .
Na seção Disco de inicialização , clique em Alterar . Isso abre a página de configuração do disco de inicialização .
Na página de configuração do disco de inicialização , faça o seguinte:
- Na guia Imagens públicas , escolha uma imagem compatível do Compute Engine ou Imagens de VM de aprendizado profundo .
- Especifique um tamanho de disco de inicialização de pelo menos 40 GB.
- Para confirmar as opções do disco de inicialização, clique em Selecionar .
Opcional: Configure o modelo de provisionamento. Por exemplo, 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 fazer isso, conclua as seguintes etapas:
- Na seção Políticas de disponibilidade , selecione Spot na lista de modelos de provisionamento de VM . Essa configuração desativa as opções de reinicialização automática e manutenção do host para a VM.
- Opcional: na lista No encerramento da VM , selecione o que acontece quando o Compute Engine interrompe a VM:
- Para parar a VM durante a preempção, selecione Parar (padrão).
- Para excluir a VM durante a preempção, selecione Excluir .
Para criar e iniciar a VM, clique em Criar .
- O sinalizador
--provisioning-model=SPOT
que configura suas VMs como VMs Spot. 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. -
VM_NAME
: o nome da nova VM. -
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
.
-
ZONE
: a zona da VM. Esta zona deve suportar o modelo de GPU selecionado . -
DISK_SIZE
: o tamanho do seu disco de inicialização em GB. Especifique um tamanho de disco de inicialização de pelo menos 40 GB. -
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. -
VM_NAME
: o nome da nova VM. -
PROJECT_ID
: seu ID do projeto. -
ZONE
: a zona da VM. Esta zona 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
.
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"
-
DISK_SIZE
: o tamanho do seu disco de inicialização em GB. Especifique um tamanho de disco de inicialização de pelo menos 40 GB. -
NETWORK
: a rede VPC que você deseja usar para a VM. Você pode especificar `default` para usar sua rede padrão. - 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 especificar VMs 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. Substitua
VWS_ACCELERATOR_COUNT
pelo número de GPUs virtuais necessárias."guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONEacceleratorTypes/nvidia-l4-vws" } ]
- Imagens de VM de aprendizado profundo . Este exemplo usa a VM A2 Standard (
a2-highgpu-1g
). - Imagem otimizada para contêiner (COS) . Este exemplo usa uma VM
a3-highgpu-8g
oua3-edgegpu-8g
. Imagem pública . Este exemplo usa uma VM G2.
Crie a VM. Neste exemplo, sinalizadores opcionais como tipo e tamanho do disco de inicialização também são especificados.
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 VM -
PROJECT_ID
: seu ID do projeto. -
ZONE
: a zona da VM.
-
Instale o driver NVIDIA e CUDA . Para GPUs NVIDIA L4, é necessária a versão CUDA XX ou superior.
-
common-cu110
: driver NVIDIA e CUDA pré-instalados -
tf-ent-1-15-cu110
: driver NVIDIA, CUDA, TensorFlow Enterprise 1.15.3 pré-instalado -
tf2-ent-2-1-cu110
: driver NVIDIA, CUDA, TensorFlow Enterprise 2.1.1 pré-instalado -
tf2-ent-2-3-cu110
: driver NVIDIA, CUDA, TensorFlow Enterprise 2.3.1 pré-instalado -
pytorch-1-6-cu110
: driver NVIDIA, CUDA, Pytorch 1.6 Crie uma VM usando a imagem
tf2-ent-2-3-cu110
e o tipo de máquinaa2-highgpu-1g
. Neste exemplo, são especificados sinalizadores opcionais, como tamanho e escopo do disco de inicialização.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 VM -
PROJECT_ID
: seu ID do projeto. -
ZONE
: a zona da VM
-
O comando do exemplo anterior também gera uma instância de notebooks gerenciados pelo usuário do Vertex AI Workbench para a VM. Para acessar o notebook, no console do Google Cloud, acesse a página Vertex AI Workbench > Notebooks gerenciados pelo usuário .
Crie uma VM otimizada para acelerador A3 High, A3 Mega, A3 Edge ou A2.
Habilite os drivers de GPU NVIDIA .
Habilite GPUs de múltiplas instâncias.
sudo nvidia-smi -mig 1
Revise as formas de GPU de múltiplas instâncias disponíveis.
sudo nvidia-smi mig --list-gpu-instance-profiles
A saída é semelhante à 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 (GI) de múltiplas instâncias e as instâncias de computação (CI) associadas que você deseja. Você pode criar essas instâncias especificando o nome completo ou abreviado do perfil, o ID do perfil ou uma combinação de ambos. Para obter mais informações, consulte Criando instâncias de GPU .
O exemplo a seguir cria duas instâncias de GPU
MIG 3g.20gb
usando o ID do perfil (9
).O sinalizador
-C
também é especificado, 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 multiinstâncias foram criadas:
sudo nvidia-smi mig -lgi
Verifique se os GIs e os ICs correspondentes foram criados.
sudo nvidia-smi
A saída é semelhante à 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 | +-----------------------------------------------------------------------------+
- Saiba mais sobre plataformas GPU .
- Adicione SSDs locais às suas instâncias . Dispositivos SSD locais combinam bem com GPUs quando seus aplicativos exigem armazenamento de alto desempenho.
- Instale os drivers da GPU .
- Se você habilitou uma estação de trabalho virtual NVIDIA RTX, instale um driver para a estação de trabalho virtual .
- Para lidar com a manutenção do host GPU, consulte Tratamento de eventos de manutenção do host 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.
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 .
Crie uma VM que tenha GPUs anexadas
Você pode criar uma VM otimizada para acelerador A3 High, A3 Mega, A3 Edge, A2 ou G2 usando o console do Google Cloud, Google Cloud CLI ou REST.
Para fazer algumas personalizações em suas VMs G2, talvez seja necessário usar a Google Cloud CLI ou REST. Consulte limitações do G2 .
Console
gcloud
Para criar e iniciar uma VM, use o comando
gcloud compute instances create
com as sinalizações a seguir. VMs com GPUs não podem migrar em tempo real, certifique-se de definir o sinalizador--maintenance-policy=TERMINATE
.Os seguintes sinalizadores opcionais são mostrados no comando de amostra:
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]
DESCANSAR
Envie uma solicitação POST para o método
instances.insert
. VMs com GPUs não podem migrar em tempo real, certifique-se de definir 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] }, }
Instalar drivers
Para que a VM use a GPU, você precisa instalar o driver da GPU em sua VM .
Exemplos
Nestes exemplos, a maioria das VMs é criada usando a CLI do Google Cloud. No entanto, você também pode usar o console do Google Cloud ou REST para criar essas VMs.
Os exemplos a seguir mostram como criar VMs usando as seguintes imagens:
COS (borda A3/alta)
Você pode criar VMs
a3-edgegpu-8g
oua3-highgpu-8g
que tenham GPUs H100 anexadas usando imagens COS (otimizadas para contêineres) .Para obter instruções detalhadas sobre como criar essas VMs
a3-edgegpu-8g
oua3-highgpu-8g
que usam o Container-Optimized OS, consulte Criar uma VM A3 com GPUDirect-TCPX ativado .Imagem pública do sistema operacional (G2)
Você 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 usando a imagem mais recente e não obsoleta do Rocky Linux 8 otimizada para Google Cloud família de imagens que usa o tipo de máquina
g2-standard-8
e tem uma estação de trabalho virtual NVIDIA RTX, conclua as etapas a seguir:Imagem DLVM (A2)
Usar imagens DLVM é a maneira mais fácil de começar porque essas imagens já possuem os drivers NVIDIA e as bibliotecas CUDA pré-instaladas.
Essas imagens também fornecem otimizações de desempenho.
As seguintes imagens DLVM são suportadas para NVIDIA A100:
Para obter mais informações sobre as imagens DLVM disponíveis e os pacotes instalados nas imagens, consulte a documentação da VM de Deep Learning .
GPU de múltiplas instâncias (somente VMs A3 e A2)
Uma GPU de múltiplas instâncias particiona uma única GPU NVIDIA H100 ou A100 dentro da mesma VM em até sete instâncias de GPU independentes. Eles são executados simultaneamente, cada um com sua própria memória, cache e multiprocessadores de streaming. Esta configuração permite que a GPU NVIDIA H100 ou A100 forneça qualidade de serviço (QoS) garantida com utilização até 7x maior em comparação com modelos de GPU anteriores.
Você pode criar até sete GPUs de múltiplas instâncias. Para GPUs A100 de 40 GB, cada GPU de múltiplas instâncias recebe 5 GB de memória. Com as GPUs A100 de 80 GB e H100 de 80 GB, a memória alocada dobra para 10 GB cada.
Para obter mais informações sobre o uso de GPUs de múltiplas instâncias, consulte Guia do usuário da GPU de múltiplas instâncias NVIDIA .
Para criar GPUs de múltiplas instâncias, conclua as etapas a seguir:
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.
-