Crie grupos de VMs de GPU usando modelos de instância


Use modelos de instância para criar grupos de instâncias gerenciadas com GPUs adicionadas a cada uma delas. Os grupos de instâncias gerenciadas usam o modelo para criar várias instâncias idênticas. Expanda o número de instâncias no grupo para que correspondam à carga de trabalho.

Como as instâncias criadas precisam ter o kit de ferramentas CUDA e o driver NVIDIA instalados, o processo de criação de um modelo para instâncias de GPU é o seguinte:

  1. Crie uma instância com GPUs anexadas.
  2. Instale um driver da GPU na instância.
  3. Crie uma imagem a partir do disco anexado à instância da VM com as GPUs e os drivers instalados.
  4. Use a imagem para criar um modelo de instância.
  5. Use o modelo para criar um grupo de instâncias

Antes de começar

  • 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.

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init
    2. Defina uma região e uma zona padrão.

    Terraform

    Para usar as amostras de Terraform nesta página de um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure o Application Default Credentials com as credenciais de usuário.

    1. Instale a CLI do Google Cloud.
    2. Para inicializar a CLI gcloud, execute o seguinte comando:

      gcloud init
    3. Crie as credenciais de autenticação para sua Conta do Google:

      gcloud auth application-default login

    Veja mais informações em: Configurar a autenticação para um ambiente de desenvolvimento local.

crie um modelo de instância

Você pode criar um modelo de instância global ou regional. Se você quiser criar um modelo de instância regional, selecione uma região em que pelo menos uma zona seja compatível com o modelo de GPU desejado.

Leia Como criar modelos de instância para saber as etapas de criação.

Console

Para criar o modelo de instância usando o Console, faça as seguintes personalizações:

  • Especifique o tipo de máquina.
  • Especifique o nome e a família da imagem para sua imagem personalizada com GPUs e drivers anexados.

Para mais informações sobre como usar imagens personalizadas, consulte Como usar imagens personalizadas ou públicas nos modelos de instância.

gcloud

Para criar o modelo de instância usando gcloud compute instance-templates create, inclua as sinalizações --accelerators e --maintenance-policy TERMINATE. Se você quiser criar um modelo de instância regional, use a sinalização --instance-template-region para especificar a região do modelo.

No exemplo a seguir, criamos um modelo de instância global com duas vCPUs, um disco de inicialização de 250 GB com base na sua imagem (com drivers instalados) e uma GPU NVIDIA T4. Substitua my-image e my-project pela imagem e pelo nome do projeto da imagem que contém as GPUs e os drivers anexados.

gcloud compute instance-templates create gpu-template \
    --machine-type n1-standard-2 \
    --boot-disk-size 250GB \
    --accelerator type=nvidia-tesla-t4,count=1 \
    --image-family my-image \
    --image-project my-project \
    --maintenance-policy TERMINATE \
    --restart-on-failure

Terraform

No exemplo a seguir, criamos um modelo de instância global com duas vCPUs, um disco de inicialização de 250 GB com base na sua imagem (com drivers instalados) e uma GPU NVIDIA T4. Para mais informações sobre o recurso usado no exemplo, consulte recurso google_compute_instance_template.

Para criar um modelo de instância regional, use o recurso google_compute_region_instance_template.

resource "google_compute_instance_template" "default" {
  name         = "gpu-template"
  machine_type = "n1-standard-2"

  disk {
    source_image = "debian-cloud/debian-11"
  }

  network_interface {
    network = "default"
  }

  guest_accelerator {
    type  = "nvidia-tesla-t4"
    count = 1
  }

  scheduling {
    on_host_maintenance = "TERMINATE"
  }
}

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

Como criar um grupo de instâncias

Crie o modelo e use-o para criar um grupo de instâncias. Sempre que você adiciona uma instância ao grupo, ele usa as configurações no modelo da instância para iniciá-la.

Se você estiver criando um grupo de instâncias gerenciadas regionais, selecione zonas especificamente compatíveis com o modelo de GPU que você quer. Para ver uma lista de modelos de GPU e zonas disponíveis, consulte GPUs no Compute Engine. O exemplo a seguir cria um grupo de instâncias gerenciadas regionais em duas zonas compatíveis com o modelo nvidia-tesla-t4.

gcloud compute instance-groups managed create example-rmig \
    --template gpu-template --base-instance-name example-instances \
    --size 30 --zones us-east1-c,us-east1-d

A seguir