Criar uma VM A3, A2 ou G2 (original) (raw)

Linux Windows


Neste documento, explicamos como criar uma VM que usa um tipo de máquina das séries A3 High, A3 Mega, A3 Edge, A2 e G2. Para saber mais sobre como criar VMs com GPUs anexadas, consulteVisão geral da criação de uma instância com GPUs anexadas.

Antes de começar

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

gcloud

  1. 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.
  2. Set a default region and zone.

REST

Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI 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.
Para mais informações, consulteAutenticar para usar REST na documentação de autenticação do Google Cloud .

Funções exigidas

Para receber as permissões necessárias para criar VMs, peça ao administrador para conceder a você oAdministrador da instância da computação (v1) (roles/compute.instanceAdmin.v1) papel do IAM no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

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.

Criar uma VM com GPUs anexadas

É possível criar uma VM otimizada para aceleradores A3 High, A3 Mega, A3 Edge, A2 ou G2 usando o Google Cloud console, a Google Cloud CLI ou o REST.

Para fazer algumas personalizações nas VMs G2, talvez seja necessário usar a CLI do Google Cloud ou REST. Consulte as limitações da G2.

Console

  1. No console Google Cloud , acesse a página Criar uma instância.
    Acesse "Criar uma instância"
  2. Especifique um Nome para sua VM. Consulte a Convenção de nomenclatura de recursos.
  3. Selecione uma região e uma zona em que as GPUs estejam disponíveis. Confira a lista de regiões e zonas de GPU disponíveis.
  4. Na seção Configuração da máquina, selecione a família de máquinas GPUs.
    1. Siga 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 de GPU, é possível selecionar um tipo de máquina predefinido da seguinte maneira:
        1. Na lista Tipo de GPU, selecione o tipo de GPU.
        * Para VMs com otimização de aceleradores A3 High, A3 Mega ou A3 Edge, selecioneNVIDIA H100 80GB ou NVIDIA H100 80GB MEGA.
        * Para VMs com otimização de aceleradores A2, selecione NVIDIA A100 40GBou NVIDIA A100 80GB.
        * Para VMs otimizadas para acelerador G2, selecione NVIDIA L4.
        2. Na lista Número de GPUs, selecione o número de GPUs.
      • Para a série de máquinas G2, é possível selecionar um tipo de máquina personalizado da seguinte forma:
        1. Na lista Tipo de GPU, selecione NVIDIA L4.
        2. Na seção Tipo de máquina, selecione Personalizado.
        3. 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 à medida que você altera o número de vCPUs e a memória.
    2. Opcional: a série de máquinas G2 oferece suporte aestações de trabalho virtuais (vWS) NVIDIA RTX para cargas de trabalho de gráficos. Se você planeja executar cargas de trabalho com muitos gráficos na VM G2, selecione Ativar estação de trabalho virtual (NVIDIA GRID).
  5. Na seção Disco de inicialização, clique em Alterar. A página Configuração do disco de inicialização será aberta.
  6. Na página Configuração do disco de inicialização, faça o seguinte:
    1. Na guia Imagens públicas, escolha umaimagem do Compute Engine compatívelou Deep Learning VM Images.
    2. Especifique um tamanho do disco de inicialização de pelo menos 40 GB.
    3. Para confirmar as opções do disco de inicialização, clique em Selecionar.
  7. Opcional: configure o modelo de provisionamento. Por exemplo, se a carga de trabalho for tolerante a falhas e resistente a possíveis preempções da VM, use as VMs do Spot para reduzir o custo das VMs e das GPUs anexadas. Para mais informações, consulteGPUs em VMs spot. Para isso, siga as seguintes etapas:
    1. Na seção Políticas de disponibilidade, selecione Spot na lista Modelo de provisionamento de VM. Essa configuração desativa as opções de reinicialização automática e manutenção de host para a VM.
    2. Opcional: na lista No encerramento da VM, selecione o que acontecerá quando o Compute Engine encerrar a VM:
      • Para interromper a VM durante a preempção, selecione Parar (padrão).
      • Para excluir a VM durante a preempção, selecione Excluir.
  8. 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 sinalizações a seguir. Não é possível migrar VMs com GPUs em tempo real. Defina a sinalização --maintenance-policy=TERMINATE.

As seguintes sinalizações opcionais são mostradas no comando de amostra:

Substitua:

REST

Envie uma solicitação POST aométodo instances.insert. VMs com GPUs não podem ser migradas em tempo real, verifique se você define o parâmetro onHostMaintenance como TERMINATE.

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] }, }

Substitua o seguinte:

Instalar drivers

Para que a VM use a GPU, é necessárioinstalar o driver da GPU na VM.

Exemplos

Nestes exemplos, a maioria das VMs é criada usando a CLI do Google Cloud. No entanto, também é possível usar o Google Cloud console ou oREST para criar essas VMs.

Os exemplos a seguir mostram como criar VMs usando as seguintes imagens:

COS (A3 Edge/High)

É possível criar VMs a3-edgegpu-8g ou a3-highgpu-8g com GPUs H100 anexadas usandoimagens otimizadas para contêiner (COS).

Para instruções detalhadas sobre como criar essas VMs a3-edgegpu-8g oua3-highgpu-8g que usam o Container-Optimized OS, consulteCriar uma VM A3 com o GPUDirect-TCPX ativado.

Imagem do SO público (G2)

É possível criar VMs com GPUs anexadas que usam umaimagem pública disponível no Compute Engine ou uma imagem personalizada.

Para criar uma VM usando a imagem mais recente e não descontinuada daRocky Linux 8 otimizada para a família de imagens Google Cloud que usa o tipo de máquina g2-standard-8e tem uma estação de trabalho virtual NVIDIA RTX, conclua as seguintes etapas:

  1. Crie a VM. Neste exemplo, as sinalizações opcionais, como o tipo e o tamanho do disco de inicialização, também são especificadas.
    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:
    • VM_NAME: o nome da VM.
    • PROJECT_ID: o ID do projeto.
    • ZONE: a zona para a VM.
  2. Instale o driver NVIDIA e o CUDA. Para GPUs NVIDIA L4, a versão XX de CUDA é necessária.

Imagem de DLVM (A2)

Usar imagens de DLVM é a maneira mais fácil de começar, porque essas imagens já têm os drivers NVIDIA e bibliotecas CUDA pré-instaladas.

Essas imagens também fornecem otimizações de desempenho.

As seguintes imagens de DLVM são compatíveis com NVIDIA A100:

Para mais informações sobre as imagens de DLVM disponíveis e os pacotes instalados nas imagens, consulte a documentação sobre VMs de aprendizado profundo.

  1. Crie uma VM usando a imagem tf2-ent-2-3-cu110 e o tipo de máquina a2-highgpu-1g. Neste exemplo, são especificadas as sinalizações 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:
    • VM_NAME: o nome da VM.
    • PROJECT_ID: o ID do projeto.
    • ZONE: a zona da VM.
  2. O comando de 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 Google Cloud , acesse a páginaVertex AI Workbench > Notebooks gerenciados pelo usuário.
    Acessar a página Notebooks gerenciados pelo usuário

GPU com várias instâncias (somente VMs A3 e A2)

Uma GPU com várias instânciasparticiona uma única GPU NVIDIA H100 ou A100 na mesma VM em até sete instâncias de GPU independentes. Elas são executadas simultaneamente, cada uma com a própria memória, o próprio cache e os próprios multiprocessadores de streaming. Essa configuração permite que a GPU NVIDIA H100 ou A100 ofereça qualidade de serviço (QoS) garantida com utilização até sete vezes maior em comparação com os modelos de GPU anteriores.

É possível criar até sete GPUs com várias instâncias. No caso das GPUs A100 de 40 GB, cada GPU com várias instâncias recebe 5 GB de memória. No caso das GPUs A100 e H100 de 80 GB, a memória alocada dobra para 10 GB cada.

Para mais informações sobre o uso de GPUs com várias instâncias, consulte oGuia do usuário de GPUs NVIDIA com várias instâncias.

Para criar GPUs de várias instâncias, conclua as seguintes etapas:

  1. Crie uma VM otimizada para aceleradores A3 High, A3 Mega, A3 Edge ou A2.
  2. Ative os drivers de GPU NVIDIA.
  3. Ative as GPUs com várias instâncias.
    sudo nvidia-smi -mig 1
  4. Revise os formatos de GPU com várias instâncias disponíveis.
    sudo nvidia-smi mig --list-gpu-instance-profiles
    A resposta será semelhante a:
    +-----------------------------------------------------------------------------+
    | 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 |
+-----------------------------------------------------------------------------+
....... 5. Crie a GPU de várias instâncias (GI, na sigla em inglês) e as instâncias de computação (CI, na sigla em inglês) associadas que você quer. Para criar essas instâncias, especifique o nome completo ou abreviado do perfil, o ID do perfil ou uma combinação de ambos. Para saber mais, consulteComo criar instâncias de GPU.
O exemplo a seguir cria duas instâncias de GPU MIG 3g.20gb usando o ID do perfil (9).
A flag -C também é especificada, a fim de criar as instâncias de computação associadas para o perfil necessário.
sudo nvidia-smi mig -cgi 9,9 -C 6. Verifique se as duas GPUs de várias instâncias foram criadas:
sudo nvidia-smi mig -lgi 7. Verifique se as GIs e as CIs correspondentes foram criadas.
sudo nvidia-smi
A resposta será semelhante a:
+-----------------------------------------------------------------------------+
| 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 |
+-----------------------------------------------------------------------------+

A seguir