Criar VMs N1 otimizadas para IA com GPUs em massa

Neste documento, explicamos como criar instâncias de máquina virtual (VM) em massa que usam a série de máquinas N1 com GPUs anexadas. Para saber mais sobre esses tipos de máquinas otimizados para aceleradores, consulte Série N1+GPU.

Para mais informações sobre a criação de VMs em massa, consulte Sobre a criação em massa de VMs na documentação do Compute Engine.

Para saber mais sobre outras maneiras de criar VMs ou clusters, consulte Visão geral das opções de implantação.

Limitações

Para conferir as limitações aplicáveis aos tipos de máquinas N1 com GPUs, consulte o seguinte:

Antes de começar

Antes de criar VMs em massa, siga estas etapas, caso ainda não tenha feito isso:

  1. Escolha uma opção de consumo: sua escolha determina como você recebe e usa os recursos de GPU. Para saber mais, consulte Escolher uma opção de consumo.
  2. Obter capacidade: o processo para obter capacidade varia de acordo com cada opção de consumo. Para saber mais sobre o processo de obtenção de capacidade para a opção de consumo escolhida, consulte Visão geral da capacidade.

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

Console

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

gcloud

No console do Google Cloud , ative o Cloud Shell.

Ativar o Cloud Shell

Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

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.

    Instale a CLI do Google Cloud.

    Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

Saiba mais em Autenticar 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 em massa, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (roles/compute.instanceAdmin.v1) 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 em massa. Para conferir 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 em massa:

  • compute.instances.create no projeto
  • Usar uma imagem personalizada para criar a VM: compute.images.useReadOnly na imagem
  • Usar um snapshot para criar a VM: compute.snapshots.useReadOnly no snapshot
  • Usar um modelo de instância para criar a VM: compute.instanceTemplates.useReadOnly no modelo de instância
  • Especificar uma sub-rede para a VM: compute.subnetworks.use no projeto ou na sub-rede escolhida
  • Especificar um endereço IP estático para a VM: compute.addresses.use no projeto
  • Atribuir um endereço IP externo à VM ao usar uma rede VPC: compute.subnetworks.useExternalIp no projeto ou na sub-rede escolhida
  • Atribuir uma rede legada à VM: compute.networks.use no projeto
  • Atribuir um endereço IP externo à VM usando uma rede legada: compute.networks.useExternalIp no projeto
  • Definir os metadados da instância de VM para a VM: compute.instances.setMetadata no projeto
  • Definir tags para a VM: compute.instances.setTags na VM
  • Definir rótulos para a VM: compute.instances.setLabels na VM
  • Definir uma conta de serviço a ser usada pela VM: compute.instances.setServiceAccount na VM
  • Criar um disco para a VM: compute.disks.create no projeto
  • Anexar um disco atual no modo somente leitura ou de leitura e gravação: compute.disks.use no disco
  • Anexar um disco atual no modo somente leitura: compute.disks.useReadOnly no disco

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Visão geral

A criação de instâncias em massa com o tipo de máquina N1 com GPUs T4 ou V100 inclui as seguintes etapas:

  1. Criar instâncias em massa
  2. Instalar os drivers da GPU

Criar VMs N1 com GPUs em massa

Para criar VMs N1 com GPUs em massa, use um dos seguintes métodos.

Os comandos a seguir também definem o escopo de acesso das suas instâncias. Para simplificar o gerenciamento de permissões, o Google recomenda definir o escopo de acesso de uma instância como cloud-platform e usar papéis do IAM para definir a quais serviços a instância pode acessar. Para mais informações, consulte Práticas recomendadas de escopos.

gcloud

Para criar instâncias em massa, use o comando gcloud compute instances bulk create.

Os parâmetros que você precisa especificar dependem da opção de consumo que está usando para essa implantação. Selecione a guia que corresponde à sua opção de consumo.

Reserva

As instâncias N1 com GPUs T4 ou V100 são compatíveis com os seguintes tipos de reservas:

  • Reservas imediatas
  • Reservas adiantadas padrão

Para consumir esses tipos de reservas, uma instância precisa usar o modelo de provisionamento padrão. Por exemplo, use os seguintes parâmetros de criação.

Antes de executar o comando, revise todas as etapas a seguir para determinar se é necessário incluir flags adicionais.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY \
    --reservation=RESERVATION

Siga estas etapas:

  1. Substitua:

    • NAME_PATTERN: o padrão de nome a ser usado para as instâncias N1 com GPUs T4 ou V100. Por exemplo, usar instance-# para o padrão de nome gera instâncias N1 com GPUs T4 ou V100 com nomes como instance-1 e instance-2, até o número de instâncias N1 com GPUs T4 ou V100 especificadas por --count.
    • COUNT: o número de instâncias N1 com GPUs T4 ou V100 a serem criadas.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a instância N1 com GPUs T4 ou V100. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • ACCELERATOR_COUNT: o número de GPUs que você quer anexar à VM N1. Para ver uma lista de limites de GPUs com base no tipo de máquina da VM, consulte informações sobre GPUs N1 na documentação do Compute Engine.
    • ACCELERATOR_TYPE: o tipo de acelerador para VMs N1 que você quer usar. Para cargas de trabalho de IA, recomendamos o uso de GPUs T4 ou V100.
    • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de todos os sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.
    • IMAGE_PROJECT: o ID do projeto da imagem do SO.
    • REGION: especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
    • DISK_TYPE: o tipo do disco de inicialização. Para mais informações sobre os tipos de disco compatíveis com seu tipo de máquina, consulte Máquinas com GPU na família de máquinas otimizadas para aceleradores na documentação do Compute Engine.
    • DISK_SIZE: o tamanho do disco de inicialização em GB. Para mais informações, consulte Limites de tamanho do Google Cloud Hyperdisk ou Limites de tamanho do Persistent Disk com base no tipo de disco.
    • RESERVATION_AFFINITY: quais reservas a instância pode consumir, se possível. Especifique uma destas opções:

      • any (a capacidade de reserva é opcional): essa é a opção padrão. A instância tenta usar a capacidade de uma reserva consumida automaticamente, o que só acontece se a capacidade da reserva correspondente estiver disponível. Caso contrário, a instância usa capacidade sob demanda.

      • specific (é necessário ter capacidade de reserva): exige que a instância use a capacidade de uma reserva segmentada especificamente. A instância não pode usar a capacidade on demand. Se a capacidade da reserva não estiver disponível, a criação da instância vai falhar.

    • RESERVATION: a reserva a ser usada. Especifique uma das seguintes opções com base no valor especificado para RESERVATION_AFFINITY:

      • Se você especificou any, substitua RESERVATION por uma string vazia (""). Como alternativa, remova a flag --reservation por completo.
      • Se você especificou specific, substitua RESERVATION pelo seguinte:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Substitua:

        • RESERVATION_OWNER_PROJECT_ID: o ID do projeto em que a reserva foi criada.
        • RESERVATION_NAME: o nome da reserva.
  2. Por padrão, a instância é reiniciada automaticamente se falhar ou se o Compute Engine a interromper para uma interrupção programada, como um evento de manutenção. Se você quiser desativar a reinicialização automática, adicione a seguinte flag:

    --no-restart-on-failure
  3. Opcional: para anexar discos SSD locais, adicione a seguinte flag --local-ssd para cada disco SSD local.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Substitua:

    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  4. Execute o comando.

Sob demanda

Antes de executar o comando, revise todas as etapas a seguir para determinar se é necessário incluir flags adicionais.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=STANDARD \
    --maintenance-policy=TERMINATE \
    --reservation-affinity=RESERVATION_AFFINITY

Siga estas etapas:

  1. Substitua:

    • NAME_PATTERN: o padrão de nome a ser usado para as instâncias N1 com GPUs T4 ou V100. Por exemplo, usar instance-# para o padrão de nome gera instâncias N1 com GPUs T4 ou V100 com nomes como instance-1 e instance-2, até o número de instâncias N1 com GPUs T4 ou V100 especificadas por --count.
    • COUNT: o número de instâncias N1 com GPUs T4 ou V100 a serem criadas.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a instância N1 com GPUs T4 ou V100. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • ACCELERATOR_COUNT: o número de GPUs que você quer anexar à VM N1. Para ver uma lista de limites de GPUs com base no tipo de máquina da VM, consulte informações sobre GPUs N1 na documentação do Compute Engine.
    • ACCELERATOR_TYPE: o tipo de acelerador para VMs N1 que você quer usar. Para cargas de trabalho de IA, recomendamos o uso de GPUs T4 ou V100.
    • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de todos os sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.
    • IMAGE_PROJECT: o ID do projeto da imagem do SO.
    • REGION: especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
    • DISK_TYPE: o tipo do disco de inicialização. Para mais informações sobre os tipos de disco compatíveis com seu tipo de máquina, consulte Máquinas com GPU na família de máquinas otimizadas para aceleradores na documentação do Compute Engine.
    • DISK_SIZE: o tamanho do disco de inicialização em GB. Para mais informações, consulte Limites de tamanho do Google Cloud Hyperdisk ou Limites de tamanho do Persistent Disk com base no tipo de disco.
    • RESERVATION_AFFINITY: quais reservas a instância pode consumir, se possível. Especifique uma destas opções:

      • any (a capacidade de reserva é opcional): essa é a opção padrão. A instância tenta usar a capacidade de uma reserva consumida automaticamente, o que só acontece se a capacidade da reserva correspondente estiver disponível. Caso contrário, a instância usa capacidade sob demanda.

      • none (capacidade sob demanda obrigatória): impede que a instância use qualquer capacidade de reserva.

  2. Por padrão, a instância é reiniciada automaticamente se falhar ou se o Compute Engine a interromper para uma interrupção programada, como um evento de manutenção. Se você quiser desativar a reinicialização automática, adicione a seguinte flag:

    --no-restart-on-failure
  3. Opcional: para anexar discos SSD locais, adicione a seguinte flag --local-ssd para cada disco SSD local.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Substitua:

    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  4. Execute o comando.

Spot

Antes de executar o comando, revise todas as etapas a seguir para determinar se é necessário incluir flags adicionais.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
     --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

Siga estas etapas:

  1. Substitua:

    • NAME_PATTERN: o padrão de nome a ser usado para as instâncias N1 com GPUs T4 ou V100. Por exemplo, usar instance-# para o padrão de nome gera instâncias N1 com GPUs T4 ou V100 com nomes como instance-1 e instance-2, até o número de instâncias N1 com GPUs T4 ou V100 especificadas por --count.
    • COUNT: o número de instâncias N1 com GPUs T4 ou V100 a serem criadas.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a instância N1 com GPUs T4 ou V100. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • ACCELERATOR_COUNT: o número de GPUs que você quer anexar à VM N1. Para ver uma lista de limites de GPUs com base no tipo de máquina da VM, consulte informações sobre GPUs N1 na documentação do Compute Engine.
    • ACCELERATOR_TYPE: o tipo de acelerador para VMs N1 que você quer usar. Para cargas de trabalho de IA, recomendamos o uso de GPUs T4 ou V100.
    • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de todos os sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.
    • IMAGE_PROJECT: o ID do projeto da imagem do SO.
    • REGION: especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
    • DISK_TYPE: o tipo do disco de inicialização. Para mais informações sobre os tipos de disco compatíveis com seu tipo de máquina, consulte Máquinas com GPU na família de máquinas otimizadas para aceleradores na documentação do Compute Engine.
    • DISK_SIZE: o tamanho do disco de inicialização em GB. Para mais informações, consulte Limites de tamanho do Google Cloud Hyperdisk ou Limites de tamanho do Persistent Disk com base no tipo de disco.
    • TERMINATION_ACTION: a ação a ser realizada quando o Compute Engine forçar a interrupção da instância, STOP (padrão) ou DELETE.

  2. Opcional: para anexar discos SSD locais, adicione a seguinte flag --local-ssd para cada disco SSD local.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

    --local-ssd interface=INTERFACE_TYPE
    

    Substitua:

    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  3. Execute o comando.

REST

Para criar instâncias em massa, faça uma solicitação POST para o método instances.bulkInsert.

Os parâmetros que você precisa especificar dependem da opção de consumo que está usando para essa implantação. Selecione a guia que corresponde à sua opção de consumo.

Reserva

As instâncias N1 com GPUs T4 ou V100 são compatíveis com os seguintes tipos de reservas:

  • Reservas imediatas
  • Reservas adiantadas padrão

Para consumir esses tipos de reservas, uma instância precisa usar o modelo de provisionamento padrão. Por exemplo, use os seguintes parâmetros de criação.

Antes de enviar a solicitação, revise todas as etapas a seguir para determinar se é necessário incluir outros campos.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators":
    [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY",
    "key": "compute.googleapis.com/reservation-name",
    "values": [
      "RESERVATION"
    ]
  }
  }
}

Siga estas etapas:

  1. Substitua:

    • PROJECT_ID: o ID do projeto em que você quer criar a instância N1 com GPUs T4 ou V100.
    • ZONE: especifique uma zona em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
    • NAME_PATTERN: o padrão de nome a ser usado para as instâncias N1 com GPUs T4 ou V100. Por exemplo, usar instance-# para o padrão de nome gera instâncias N1 com GPUs T4 ou V100 com nomes como instance-1 e instance-2, até o número de instâncias N1 com GPUs T4 ou V100 especificadas por --count.
    • COUNT: o número de instâncias N1 com GPUs T4 ou V100 a serem criadas.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a instância N1 com GPUs T4 ou V100. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • ACCELERATOR_COUNT: o número de GPUs que você quer anexar à VM N1. Para ver uma lista de limites de GPUs com base no tipo de máquina da VM, consulte informações sobre GPUs N1 na documentação do Compute Engine.
    • ACCELERATOR_TYPE: o tipo de acelerador para VMs N1 que você quer usar. Para cargas de trabalho de IA, recomendamos o uso de GPUs T4 ou V100.
    • DISK_SIZE: o tamanho do disco de inicialização em GB. Para mais informações, consulte Limites de tamanho do Google Cloud Hyperdisk ou Limites de tamanho do Persistent Disk com base no tipo de disco.
    • DISK_TYPE: o tipo do disco de inicialização. Para mais informações sobre os tipos de disco compatíveis com seu tipo de máquina, consulte Máquinas com GPU na família de máquinas otimizadas para aceleradores na documentação do Compute Engine.
    • IMAGE_PROJECT: o ID do projeto da imagem do SO.
    • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de todos os sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.
    • AUTOMATIC_RESTART: se a instância for reiniciada automaticamente em caso de falha ou se o Compute Engine a interromper para uma interrupção programada, como um evento de manutenção. Especifique true para ativar a reinicialização automática (padrão) ou false para desativá-la.

    • RESERVATION_AFFINITY: quais reservas a instância pode consumir, se possível. Especifique uma destas opções:

      • ANY_RESERVATION (a capacidade de reserva é opcional): essa é a opção padrão. A instância tenta usar a capacidade de uma reserva consumida automaticamente, o que só acontece se a capacidade da reserva correspondente estiver disponível. Caso contrário, a instância usa a capacidade sob demanda.

      • SPECIFIC_RESERVATION (é necessário ter capacidade de reserva): exige que a instância use a capacidade de uma reserva segmentada especificamente. A instância não pode usar a capacidade on demand. Se a capacidade da reserva não estiver disponível, a criação da instância vai falhar.

    • RESERVATION: a reserva a ser usada. Especifique uma das seguintes opções com base no valor especificado para RESERVATION_AFFINITY:

      • Se você especificou ANY_RESERVATION, exclua RESERVATION para que o valor seja uma string vazia (""). Outra opção é remover os campos key e values por completo.
      • Se você especificou SPECIFIC_RESERVATION, substitua RESERVATION pelo seguinte:

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        Substitua:

        • RESERVATION_OWNER_PROJECT_ID: o ID do projeto em que a reserva foi criada.
        • RESERVATION_NAME: o nome da reserva.
  2. Opcional: para usar discos SSD locais, adicione o seguinte campo ao campo disks[] para cada disco SSD local. Separe cada subcampo disks[] (incluindo o disco de inicialização) com uma vírgula.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    Substitua:

    • ZONE: a zona especificada.
    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  3. Envie a solicitação.

Sob demanda

Antes de enviar a solicitação, revise todas as etapas a seguir para determinar se é necessário incluir outros campos.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators":
    [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling": {
    "provisioningModel": "STANDARD",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": AUTOMATIC_RESTART
  },
  "reservationAffinity": {
    "consumeReservationType": "RESERVATION_AFFINITY"
  }
  }
}

Siga estas etapas:

  1. Substitua:

    • PROJECT_ID: o ID do projeto em que você quer criar a instância N1 com GPUs T4 ou V100.
    • ZONE: especifique uma zona em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
    • NAME_PATTERN: o padrão de nome a ser usado para as instâncias N1 com GPUs T4 ou V100. Por exemplo, usar instance-# para o padrão de nome gera instâncias N1 com GPUs T4 ou V100 com nomes como instance-1 e instance-2, até o número de instâncias N1 com GPUs T4 ou V100 especificadas por --count.
    • COUNT: o número de instâncias N1 com GPUs T4 ou V100 a serem criadas.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a instância N1 com GPUs T4 ou V100. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • ACCELERATOR_COUNT: o número de GPUs que você quer anexar à VM N1. Para ver uma lista de limites de GPUs com base no tipo de máquina da VM, consulte informações sobre GPUs N1 na documentação do Compute Engine.
    • ACCELERATOR_TYPE: o tipo de acelerador para VMs N1 que você quer usar. Para cargas de trabalho de IA, recomendamos o uso de GPUs T4 ou V100.
    • DISK_SIZE: o tamanho do disco de inicialização em GB. Para mais informações, consulte Limites de tamanho do Google Cloud Hyperdisk ou Limites de tamanho do Persistent Disk com base no tipo de disco.
    • DISK_TYPE: o tipo do disco de inicialização. Para mais informações sobre os tipos de disco compatíveis com seu tipo de máquina, consulte Máquinas com GPU na família de máquinas otimizadas para aceleradores na documentação do Compute Engine.
    • IMAGE_PROJECT: o ID do projeto da imagem do SO.
    • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de todos os sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.
    • AUTOMATIC_RESTART: se a instância for reiniciada automaticamente em caso de falha ou se o Compute Engine a interromper para uma interrupção programada, como um evento de manutenção. Especifique true para ativar a reinicialização automática (padrão) ou false para desativá-la.

    • RESERVATION_AFFINITY: quais reservas a instância pode consumir, se possível. Especifique uma destas opções:

      • ANY_RESERVATION (a capacidade de reserva é opcional): essa é a opção padrão. A instância tenta usar a capacidade de uma reserva consumida automaticamente, o que só acontece se a capacidade da reserva correspondente estiver disponível. Caso contrário, a instância usa a capacidade sob demanda.

      • NO_RESERVATION (capacidade sob demanda obrigatória): impede que a instância use qualquer capacidade de reserva.

  2. Opcional: para usar discos SSD locais, adicione o seguinte campo ao campo disks[] para cada disco SSD local. Separe cada subcampo disks[] (incluindo o disco de inicialização) com uma vírgula.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    Substitua:

    • ZONE: a zona especificada.
    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  3. Envie a solicitação.

Spot

Antes de enviar a solicitação, revise todas as etapas a seguir para determinar se é necessário incluir outros campos.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern": "NAME_PATTERN",
  "count": "COUNT",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators":
    [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
      }
    ],
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "diskSizeGb": "DISK_SIZE",
          "diskType": "DISK_TYPE",
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode": "READ_WRITE",
        "type": "PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

Siga estas etapas:

  1. Substitua:

    • PROJECT_ID: o ID do projeto em que você quer criar a instância N1 com GPUs T4 ou V100.
    • ZONE: especifique uma zona em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
    • NAME_PATTERN: o padrão de nome a ser usado para as instâncias N1 com GPUs T4 ou V100. Por exemplo, usar instance-# para o padrão de nome gera instâncias N1 com GPUs T4 ou V100 com nomes como instance-1 e instance-2, até o número de instâncias N1 com GPUs T4 ou V100 especificadas por --count.
    • COUNT: o número de instâncias N1 com GPUs T4 ou V100 a serem criadas.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a instância N1 com GPUs T4 ou V100. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • ACCELERATOR_COUNT: o número de GPUs que você quer anexar à VM N1. Para ver uma lista de limites de GPUs com base no tipo de máquina da VM, consulte informações sobre GPUs N1 na documentação do Compute Engine.
    • ACCELERATOR_TYPE: o tipo de acelerador para VMs N1 que você quer usar. Para cargas de trabalho de IA, recomendamos o uso de GPUs T4 ou V100.
    • DISK_SIZE: o tamanho do disco de inicialização em GB. Para mais informações, consulte Limites de tamanho do Google Cloud Hyperdisk ou Limites de tamanho do Persistent Disk com base no tipo de disco.
    • DISK_TYPE: o tipo do disco de inicialização. Para mais informações sobre os tipos de disco compatíveis com seu tipo de máquina, consulte Máquinas com GPU na família de máquinas otimizadas para aceleradores na documentação do Compute Engine.
    • IMAGE_PROJECT: o ID do projeto da imagem do SO.
    • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de todos os sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.
    • TERMINATION_ACTION: a ação a ser realizada quando o Compute Engine forçar a interrupção da instância, STOP (padrão) ou DELETE.

  2. Opcional: para usar discos SSD locais, adicione o seguinte campo ao campo disks[] para cada disco SSD local. Separe cada subcampo disks[] (incluindo o disco de inicialização) com uma vírgula.

    Verifique se o número de discos SSD locais anexados é permitido para seu tipo de máquina. Para mais detalhes, consulte Sobre os discos SSD locais na documentação do Compute Engine.

        {
           "type": "SCRATCH",
           "initializeParams": {
              "diskType": "zones/ZONE/diskTypes/local-ssd"
           },
           "autoDelete": true,
           "interface": "INTERFACE_TYPE"
        }
    

    Substitua:

    • ZONE: a zona especificada.
    • INTERFACE_TYPE: o tipo de interface do disco que você quer usar para o disco SSD local. Se a imagem do disco de inicialização tiver drivers NVMe otimizados, especifique NVME. Especifique SCSI para outras imagens.

    Depois de criar uma VM com discos SSD locais, formate e ative cada dispositivo antes de usá-lo.

  3. Envie a solicitação.

Para mais informações sobre as opções de configuração ao criar VMs em massa, consulte Criar VMs em massa na documentação do Compute Engine.

Instalar os drivers da GPU

Depois de criar uma instância, ela não poderá usar as GPUs, a menos que os drivers corretos já estejam instalados. O driver que você precisa instalar depende de a instância ter ativado a estação de trabalho virtual NVIDIA RTX (vWS). Use uma das seguintes opções:

A seguir