Criar uma instância N1 otimizada para IA com GPUs

Neste documento, descrevemos as etapas para criar instâncias de máquina virtual (VM) autônomas que usam a série N1 com GPUs anexadas. Para saber mais sobre esses tipos de máquinas, consulte Série N1.

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

Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:

gcloud init

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 Google Cloud CLI e 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, 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. Para acessar as permissões exatas necessárias, abra a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para criar VMs:

  • 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 uma instância com o tipo de máquina N1 com GPUs T4 ou V100 inclui as seguintes etapas:

  1. Criar uma instância
  2. Instalar os drivers da GPU

Criar uma VM N1 com GPUs

Para criar uma VM N1 com GPUs, 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.

Console

  1. No console do Google Cloud , acesse a página Criar uma instância.

    Acessar "Criar uma instância"

  2. Especifique um Nome para sua VM. Consulte a Convenção de nomenclatura de recursos.

  3. Selecione a Região e a Zona em que você quer criar uma VM. Confira a lista de regiões e zonas de GPU disponíveis.

  4. Clique na guia GPUs e siga estas etapas:

    1. Na lista Tipo de GPU, selecione o tipo de GPU.
      • Para tipos de máquinas N1+T4, selecione NVIDIA T4
      • Para tipos de máquina N1+V100, selecione NVIDIA V100
    2. Na lista Tipo de máquina, selecione seu tipo de máquina N1.
    3. Na lista Número de GPUs, selecione um número de GPUs. As opções disponíveis variam de acordo com o tipo de máquina N1 selecionado.
  5. Com base na opção de consumo que você quer usar, selecione uma das opções a seguir e conclua as etapas.

    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.

    1. Na seção Modelo de provisionamento, na lista Modelo de provisionamento de VM, selecione Standard. Essa opção é selecionada por padrão.
    2. Para configurar quais reservas essa VM usa, conclua as etapas a seguir:

      1. No menu de navegação, clique em Avançado.
      2. Em Reservas, selecione uma das seguintes opções:

        • Para usar a capacidade de reserva, selecione Usar seleção automática. Essa opção é selecionada por 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.

        • Para exigir capacidade de reserva, selecione Escolher uma reserva e clique em Escolher reserva para especificar qual reserva usar.

          A instância precisa usar a capacidade de uma reserva especificamente direcionada e 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.

    Sob demanda

    1. Na seção Modelo de provisionamento, na lista Modelo de provisionamento de VM, selecione Standard. Essa opção é selecionada por padrão.
    2. Opcional: para configurar se a VM usa ou não reservas, siga estas etapas:

      1. No menu de navegação, clique em Avançado.
      2. Em Reservas, selecione uma das seguintes opções:

        • Para usar a capacidade de reserva, selecione Usar seleção automática. Essa opção é selecionada por 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.

        • Para exigir capacidade on demand, selecione Não usar uma reserva.

          A instância está bloqueada e não pode usar nenhuma capacidade de reserva.

    Início flexível

    1. Na seção Modelo de provisionamento, na lista Modelo de provisionamento de VM, selecione Início flexível.
    2. No campo Inserir número de horas, insira o tempo máximo de execução pretendido para a VM. O valor precisa estar entre 46 segundos (0.01) e sete dias (168 ou 168 horas).

    3. Selecione Definir um tempo de espera para a criação da VM.

      Com base nos requisitos zonais da sua carga de trabalho, especifique uma das seguintes durações para aumentar as chances de sucesso da solicitação de criação de VM:

      • Cargas de trabalho com requisitos zonais estritos: se a carga de trabalho exigir que você crie a VM em uma zona específica, especifique uma duração entre 90 segundos e 2 horas. Quanto maior a duração, maiores as chances de conseguir recursos.
      • Cargas de trabalho sem requisitos zonais estritos: se a VM puder ser executada em qualquer zona da região, especifique uma duração de 0 segundo ou desmarque a caixa de seleção Definir um tempo de espera para a criação da VM. Essa ação específica que o Compute Engine só aloca recursos se eles estiverem imediatamente disponíveis. Se a solicitação de criação da VM falhar porque os recursos não estão disponíveis, tente de novo em outra zona.

    4. No campo No encerramento da VM, selecione se a VM será interrompida ou excluída ao final da duração da execução:

      • Para excluir a VM, selecione Excluir.
      • Para interromper a VM, selecione Parar.

    Spot

    1. Na seção Modelo de provisionamento, selecione Spot na lista Modelo de provisionamento de VM.
    2. Opcional: para selecionar a ação de encerramento que acontece quando o Compute Engine encerra a VM:

      1. Abra a seção Configurações avançadas do modelo de provisionamento de VM.
      2. Na lista No encerramento da VM, escolha uma destas opções:
        • Para interromper a VM durante a preempção, escolha Parar (padrão).
        • Para excluir a VM durante a preempção, selecione Excluir.
  6. No menu de navegação, clique em SO e armazenamento e siga estas etapas:

    1. Clique em Alterar. O painel Configuração do disco de inicialização é aberto.
    2. Na guia Imagens públicas, selecione uma imagem recomendada. Para uma lista de imagens recomendadas, consulte Sistemas operacionais.

    3. Opcional: para configurar o tamanho do disco de inicialização, consulte os limites de tamanho do Google Cloud Hyperdisk ou os limites de tamanho do Persistent Disk, com base no tipo de disco.

    4. Para confirmar as opções do disco de inicialização, clique em Selecionar.

    5. Opcional: se você quiser adicionar discos SSD locais, siga estas etapas:

      1. Clique em Adicionar SSD local. O painel Configurar SSD local é aberto.
      2. No painel Configurar SSD local, configure as opções para os discos SSD locais. Para mais informações, consulte Adicionar um disco SSD local à sua instância de computação na documentação do Compute Engine.
      3. Para confirmar as opções do disco de inicialização, clique em Salvar.

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

  7. Configure a conta de serviço e os escopos de acesso da seguinte maneira. As cargas de trabalho em execução na instância usam a conta de serviço anexada para autorizar solicitações a outros serviços do Google Cloud .

    1. No menu de navegação, clique em Segurança.
    2. Na lista Conta de serviço, selecione uma conta para usar.
    3. Em Escopos de acesso, selecione a opção Permitir acesso total a todas as APIs do Cloud. Essa prática recomendada permite gerenciar o acesso adicionando ou removendo papéis do IAM da conta de serviço. Para mais informações, consulte Como anexar uma conta de serviço a uma instância.
  8. Para criar e iniciar a VM, clique em Criar.

gcloud

Para criar a VM, use o comando gcloud compute instances 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 create INSTANCE_NAME  \
    --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --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:

    • INSTANCE_NAME: o nome da VM.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a VM. 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.
    • ZONE: a zona em que o tipo de máquina que você quer usar está 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 create INSTANCE_NAME  \
    --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --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:

    • INSTANCE_NAME: o nome da VM.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a VM. 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.
    • ZONE: a zona em que o tipo de máquina que você quer usar está 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.

Início flexível

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

gcloud compute instances create INSTANCE_NAME  \
    --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --boot-disk-type=DISK_TYPE \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --reservation-affinity=none \
    --provisioning-model=FLEX_START \
    --request-valid-for-duration=REQUEST_VALID_FOR_DURATION \
    --max-run-duration=MAX_RUN_DURATION \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE

Siga estas etapas:

  1. Substitua:

    • INSTANCE_NAME: o nome da VM.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a VM. 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.
    • ZONE: a zona em que o tipo de máquina que você quer usar está 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.
    • REQUEST_VALID_FOR_DURATION: o tempo de validade da solicitação para criar a VM. Formate o valor como o número de dias, horas, minutos ou segundos seguidos por d, h, m e s, respectivamente. Por exemplo, especifique 30m para 30 minutos ou 1h2m3s para 1 hora, 2 minutos e 3 segundos.

      Com base nos requisitos zonais da sua carga de trabalho, especifique uma das seguintes durações para aumentar as chances de sucesso da solicitação de criação de VM:

      • Cargas de trabalho com requisitos zonais estritos: se a carga de trabalho exigir que você crie a VM em uma zona específica, especifique uma duração entre 90 segundos (90s) e duas horas (2h). Quanto maior a duração, maiores as chances de conseguir recursos.
      • Cargas de trabalho sem requisitos zonais estritos: se a VM puder ser executada em qualquer zona da região, especifique uma duração de zero segundos (0s). Essa ação especifica que o Compute Engine só aloca recursos se eles estiverem disponíveis imediatamente. Se a solicitação de criação da VM falhar porque os recursos não estão disponíveis, tente de novo em uma zona diferente.
    • MAX_RUN_DURATION: por quanto tempo você quer que as VMs solicitadas sejam executadas. Formate o valor como o número de dias, horas, minutos ou segundos, seguido por d, h, m e s, respectivamente. O valor precisa estar entre 10 minutos e sete dias.

    • TERMINATION_ACTION: se o Compute Engine interrompe (STOP) ou exclui (DELETE) a VM ao final da duração da execução.

  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.

Spot

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

gcloud compute instances create INSTANCE_NAME  \
    --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --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:

    • INSTANCE_NAME: o nome da VM.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a VM. 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.
    • ZONE: a zona em que o tipo de máquina que você quer usar está 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 a VM, faça uma solicitação POST para o método instances.insert.

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
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "INSTANCE_NAME",
  "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 VM.
    • ZONE: a zona em que o tipo de máquina que você quer usar está disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • INSTANCE_NAME: o nome da VM.
    • 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
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "INSTANCE_NAME",
  "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 VM.
    • ZONE: a zona em que o tipo de máquina que você quer usar está disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • INSTANCE_NAME: o nome da VM.
    • 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.

Início flexível

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
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "INSTANCE_NAME",
  "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"
      ]
    }
  ],
  "reservationAffinity": {
    "consumeReservationType": "NO_RESERVATION",
  },
  "scheduling": {
    "provisioningModel": "FLEX_START",
    "requestValidForDuration": {
      "seconds": REQUEST_VALID_FOR_DURATION
    },
    "maxRunDuration": {
      "seconds": MAX_RUN_DURATION
    },
    "instanceTerminationAction": "TERMINATION_ACTION",
    "onHostMaintenance": "TERMINATE",
  }
}

Siga estas etapas:

  1. Substitua:

    • PROJECT_ID: o ID do projeto em que você quer criar a VM.
    • ZONE: a zona em que o tipo de máquina que você quer usar está disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • INSTANCE_NAME: o nome da VM.
    • 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.
    • REQUEST_VALID_FOR_DURATION: a duração, em segundos, da validade da solicitação para criar a VM.

      Com base nos requisitos zonais da sua carga de trabalho, especifique uma das seguintes durações para aumentar as chances de sucesso da solicitação de criação de VM:

      • Cargas de trabalho com requisitos zonais estritos: se a carga de trabalho exigir que você crie a VM em uma zona específica, especifique uma duração entre 90 segundos (90) e duas horas (7200). Quanto maior a duração, maiores as chances de conseguir recursos.
      • Cargas de trabalho sem requisitos zonais estritos: se a VM puder ser executada em qualquer zona da região, especifique uma duração de zero segundos (0). Essa ação especifica que o Compute Engine só aloca recursos se eles estiverem disponíveis imediatamente. Se a solicitação de criação da VM falhar porque os recursos não estão disponíveis, tente de novo em uma zona diferente.
    • MAX_RUN_DURATION: a duração da execução das VMs solicitadas. Você precisa formatar o valor como o número de segundos. Por exemplo, especifique 86400 para 86.400 segundos (24 horas). O valor precisa estar entre 10 minutos e sete dias.

    • TERMINATION_ACTION: se o Compute Engine interrompe (STOP) ou exclui (DELETE) a VM ao final da duração da execução.

  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
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "INSTANCE_NAME",
  "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 VM.
    • ZONE: a zona em que o tipo de máquina que você quer usar está disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
    • MACHINE_TYPE: o tipo de máquina a ser usado para a VM. Para mais informações, consulte Tipos de máquinas com GPU na documentação do Compute Engine.
    • INSTANCE_NAME: o nome da VM.
    • 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.

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