Criar uma instância A3 Ultra ou A4

Neste documento, descrevemos como criar instâncias com GPUs anexadas das séries de máquinas A3 Ultra ou A4. Para saber mais sobre como criar instâncias com GPUs anexadas, consulte Visão geral da criação de uma instância com GPUs anexadas.

As séries de máquinas A4 e A3 Ultra foram projetadas para permitir que você execute clusters de IA/ML em grande escala com recursos como posicionamento de carga de trabalho direcionado, controles avançados de manutenção de cluster e programação com reconhecimento de topologia. Para mais informações, consulte Visão geral do gerenciamento de clusters.

Antes de começar

  • Para analisar limitações e outras etapas de pré-requisito para criar instâncias com GPUs anexadas, como selecionar uma imagem do SO ou verificar a cota de GPU, consulte Visão geral da criação de uma instância com GPUs anexadas.
  • Configure a autenticação, caso ainda não tenha feito isso. Com isso, você confirma sua identidade para acesso a serviços e APIs do Trusted Cloud by S3NS . Para executar código ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no Compute Engine com um destes métodos:

    Select the tab for how you plan to use the samples on this page:

    Console

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

    gcloud

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

      gcloud init
    2. Set a default region and zone.

    REST

    Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

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

      gcloud init

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Trusted Cloud .

Funções exigidas

Para receber as permissões necessárias para criar instâncias, peça ao administrador para conceder a você o papel do IAM de Administrador da instância da computação (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 instâncias. Para acessar 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 instâncias:

  • compute.instances.create no projeto
  • Usar uma imagem personalizada a fim de 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 ao usar 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.

Determinar como criar instâncias A3 Ultra ou A4

Para determinar as opções que você quer usar para criar instâncias A3 Ultra ou A4, siga estas etapas:

  1. Escolha uma opção de consumo: para saber como escolher uma opção de consumo para uma instância A3 Ultra ou A4, consulte Escolher uma opção de consumo na documentação do Hipercomputador de IA.

  2. Obter capacidade: para saber como obter capacidade para instâncias A3 Ultra ou A4 na opção de consumo escolhida, consulte Visão geral da capacidade na documentação do AI Hypercomputer.

  3. Selecionar instruções de criação: para saber mais sobre todas as opções que você pode usar para criar instâncias A3 Ultra ou A4, como grupos gerenciados de instâncias (MIGs) ou clusters, consulte Visão geral da criação de VMs e clusters na documentação do AI Hypercomputer.

    Se você quiser usar os recursos de gerenciamento de cluster do A3 Ultra ou A4 ou se não quiser criar instâncias autônomas, selecione uma opção de criação na documentação do AI Hypercomputer.

Criar uma instância A3 Ultra ou A4

Para criar uma instância A3 Ultra ou A4, siga estas etapas:

  1. Criar redes VPC

  2. Crie a instância.

  3. Preparar a instância para uso

Criar redes VPC

Para configurar a rede para o tipo de máquina A4 ou A3 Ultra, crie três redes VPC para as seguintes interfaces de rede:

  • Duas redes VPC regulares para as interfaces de rede gVNIC (NIC). Eles são usados para comunicação entre hosts.
  • 1 rede VPC com o perfil de rede RoCE é necessária para as NICs CX-7. A rede VPC RoCE precisa ter oito sub-redes, uma para cada NIC CX-7. Essas NICs usam RDMA em Ethernet convergente (RoCE), fornecendo a comunicação de alta largura de banda e baixa latência essencial para comunicação de GPU para GPU.

Para mais informações sobre o arranjo de NICs, consulte Analisar a largura de banda da rede e o arranjo de NICs.

Crie as redes manualmente seguindo os guias de instruções ou automaticamente usando o script fornecido.

Guias de instruções

Para criar as redes, use as seguintes instruções:

Para essas redes VPC, recomendamos definir a unidade máxima de transmissão (MTU) para um valor maior. Para o tipo de máquina A4 ou A3 Ultra, o MTU recomendado é de 8896 bytes. Para conferir as configurações de MTU recomendadas para outros tipos de máquina de GPU, consulte Configurações de MTU para tipos de máquina de GPU.

Script

Para criar as redes, siga estas etapas.

Para essas redes VPC, recomendamos definir a unidade máxima de transmissão (MTU) para um valor maior. Para o tipo de máquina A4 ou A3 Ultra, o MTU recomendado é de 8896 bytes. Para conferir as configurações de MTU recomendadas para outros tipos de máquina de GPU, consulte Configurações de MTU para tipos de máquina de GPU.

  1. Use o script a seguir para criar redes VPC para as gVNICs e as NICs CX-7.

      
        #!/bin/bash
    
        # Create regular VPC networks and subnets for the gVNICs
        for N in $(seq 0 1); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
            --subnet-mode=custom \
            --mtu=8896
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --region=REGION \
            --range=10.$N.0.0/16
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --action=ALLOW \
            --rules=tcp:0-65535,udp:0-65535,icmp \
            --source-ranges=10.0.0.0/8
        done
    
        # Create SSH firewall rules
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
        # Assumes that an external IP is only created for vNIC 0
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
      
        # List and make sure network profiles exist in the machine type's zone
        gcloud compute network-profiles list --filter "location.name=ZONE"
    
        # Create network for CX-7
        gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
          --network-profile=ZONE-vpc-roce \
          --subnet-mode custom \
          --mtu=8896
    
        # Create subnets
        for N in $(seq 0 7); do
          gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
            --network=RDMA_NAME_PREFIX-mrdma \
            --region=REGION \
            --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs
        done
    
      

    Substitua:

    • GVNIC_NAME_PREFIX: o prefixo de nome personalizado a ser usado para as redes e sub-redes VPC regulares das gVNICs.
    • RDMA_NAME_PREFIX: o prefixo de nome personalizado a ser usado para a rede VPC e as sub-redes RoCE das NICs CX-7.
    • ZONE: especifique uma zona em que o tipo de máquina que você quer usar esteja disponível, como us-central1-a. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
    • REGION: a região em que você quer criar as sub-redes. Essa região precisa corresponder à zona especificada. Por exemplo, se a zona for us-central1-a, a região será us-central1.
    • IP_RANGE: o intervalo de IP a ser usado para as regras de firewall SSH.
  2. Opcional: para verificar se os recursos de rede VPC foram criados, confira as configurações de rede no console Trusted Cloud :
    1. No console do Trusted Cloud , acesse a página Redes VPC.

      Acessar redes VPC

    2. Pesquise na lista as redes que você criou na etapa anterior.
    3. Para conferir as sub-redes, regras de firewall e outras configurações de rede, clique no nome da rede.

Criar instância

Para criar uma instância, use uma das seguintes opções.

Console

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

    Acesse "Criar uma instância"

    A tela Criar uma instância aparece e mostra o painel Configuração da máquina.

  2. No painel Configuração da máquina, siga estas etapas:

    1. Especifique um Nome para sua instância. Consulte a Convenção de nomenclatura de recursos.

    2. Selecione a Região e a Zona em que você reservou capacidade.

    3. Clique na guia GPUs e siga estas etapas:

      1. Na lista Tipo de GPU, selecione o tipo de GPU.

        • Para instâncias A4, selecione NVIDIA B200.

        • Para instâncias A3 Ultra, selecione NVIDIA H200 de 141 GB.

      2. Na lista Número de GPUs, selecione 8.

  3. No menu de navegação, clique em SO e armazenamento. No painel SO e armazenamento que aparece, siga estas etapas:

    1. Clique em Alterar. O painel Configuração do disco de inicialização é exibido.

    2. Na guia Imagens públicas, selecione uma imagem recomendada. Para uma lista de imagens recomendadas, consulte Sistemas operacionais.

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

  4. Para criar uma instância com várias NICs, siga estas etapas. Caso contrário, para criar uma instância de NIC única, pule estas etapas.

    • No menu de navegação, clique em Rede. No painel Rede que aparece, conclua as etapas a seguir:

      1. Na seção Interfaces de rede, siga estas etapas:

      2. Exclua a interface de rede padrão. Para excluir a interface, clique em Excluir.

      3. Clique em Adicionar uma interface de rede. Use essa opção para adicionar interfaces de rede que se conectam às redes VPC criadas na seção anterior. Ao adicionar as interfaces de rede, lembre-se do seguinte:

        • Para uma interface de rede usada na comunicação de host para host, selecione uma rede VPC e uma sub-rede comuns nas listas Rede e Sub-rede e defina a lista Placa de interface de rede como gVNIC.

        • Para uma interface de rede usada na comunicação entre GPUs, selecione a rede VPC e a sub-rede RoCE nas listas Rede e Sub-rede e defina a lista Placa de interface de rede como MRDMA para essas interfaces de rede.

  5. No menu de navegação, clique em Avançado. Em seguida, conclua as etapas a seguir para o modelo de provisionamento que você quer usar.

    Início flexível

    1. Na seção Modelo de provisionamento, na lista Modelo de provisionamento de VM, selecione Início flexível.
    2. Em Insira o número de horas, digite o período máximo que você quer que a VM seja executada. 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, recomendamos que você 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.
      • Workloads 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 especifica 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.

    Vinculada à reserva

    1. Clique em Escolher uma reserva. Essa ação abre um painel com uma lista de reservas disponíveis na zona selecionada. Na lista de reservas, siga estas etapas:

      1. Selecione a reserva que você quer usar para a VM. Também é possível selecionar um bloco específico na reserva.
      2. Clique em Escolher.

    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, siga estas etapas:

      1. Expanda a seção Configurações avançadas do modelo de provisionamento de VM.
      2. Na lista No encerramento da VM, selecione uma das seguintes opções:
        • Para interromper a VM durante a preempção, selecione Parar (padrão).
        • Para excluir a VM durante a preempção, selecione Excluir.
  6. Para criar e iniciar a instância, 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 ao modelo de provisionamento da sua opção de consumo.

Início flexível

gcloud compute instances create VM_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --reservation-affinity=none \
    --provisioning-model=FLEX_START \
    --request-valid-for-duration=REQUEST_VALID_FOR_DURATION \
    --max-run-duration=MAX_RUN_DURATION \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE

Substitua:

  • VM_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.
  • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Detalhes do sistema operacional.
  • 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_SIZE: o tamanho do disco de inicialização em GB.
  • GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam gVNICs.
  • RDMA_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes da VPC que usam NICs RDMA.
  • REQUEST_VALID_FOR_DURATION: a duração da 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 1d2h3m4s para um dia, duas horas, três minutos e quatro segundos. Se você não especificar uma duração, o padrão será de 90 segundos.

    Com base nos requisitos zonais da sua carga de trabalho, recomendamos que você 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 duas 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 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. Formate o valor como o número de dias, horas, minutos ou segundos, seguido por d, h, m e s, respectivamente. Por exemplo, especifique 30m para 30 minutos ou 1d2h3m4s para um dia, duas horas, três minutos e quatro segundos. O valor precisa estar entre 10 minutos e sete dias.

Vinculada à reserva

gcloud compute instances create VM_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE

Substitua:

  • VM_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.
  • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Detalhes do sistema operacional.
  • 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_SIZE: o tamanho do disco de inicialização em GB.
  • GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam gVNICs.
  • RDMA_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes da VPC que usam NICs RDMA.
  • RESERVATION: o nome da reserva ou um bloco específico dentro de uma reserva. Para conferir o nome da reserva ou os blocos disponíveis, consulte Ver capacidade reservada. Com base na sua exigência de posicionamento de instâncias, escolha uma das seguintes opções:
    • Para criar a instância em qualquer bloco:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      Além disso, para criar várias instâncias no mesmo bloco, aplique a mesma política de posicionamento compacto que especifica uma colocação de bloco (maxDistance=2) ao criar cada instância. Em seguida, o Compute Engine aplica a política à reserva e cria instâncias no mesmo bloco.

    • Para criar a instância em um bloco específico:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
  • TERMINATION_ACTION: se o Compute Engine interrompe (STOP) ou exclui (DELETE) a VM ao final do período de reserva.

Spot

gcloud compute instances create VM_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION

Substitua:

  • VM_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.
  • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Detalhes do sistema operacional.
  • 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_SIZE: o tamanho do disco de inicialização em GB.
  • GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam gVNICs.
  • RDMA_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes da VPC que usam NICs RDMA.
  • 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.

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 ao modelo de provisionamento da sua opção de consumo.

Início flexível

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks":[
    {
      "boot":true,
      "initializeParams":{
        "diskSizeGb": "DISK_SIZE",
        "diskType": "hyperdisk-balanced",
        "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"
      ]
    }
  ],
  "networkInterfaces": [
    {
      "accessConfigs": [
        {
          "name": "external-nat",
          "type": "ONE_TO_ONE_NAT"
        }
      ],
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
    }
  ],
  "reservationAffinity":{
    "consumeReservationType": "NO_RESERVATION",
  },
  "scheduling":{
    "provisioningModel": "FLEX_START",
    "requestValidForDuration": {
      "seconds": REQUEST_VALID_FOR_DURATION
    },
    "maxRunDuration": {
      "seconds": MAX_RUN_DURATION
    },
    "instanceTerminationAction": "DELETE",
    "onHostMaintenance": "TERMINATE",
  }
}

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.
  • VM_NAME: o nome da VM.
  • DISK_SIZE: o tamanho do disco de inicialização em GB.
  • 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 sistemas operacionais compatíveis, consulte Detalhes do sistema operacional.
  • NETWORK_PROJECT_ID: o ID do projeto da rede.
  • GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam gVNICs.
  • REGION: a região da sub-rede.
  • RDMA_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes da VPC que usam NICs RDMA.
  • REQUEST_VALID_FOR_DURATION: a duração da 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 1d2h3m4s para um dia, duas horas, três minutos e quatro segundos. Se você não especificar uma duração, o padrão será de 90 segundos.

    Com base nos requisitos zonais da sua carga de trabalho, recomendamos que você 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 duas 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 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 um dia. O valor precisa estar entre 10 minutos e sete dias.

Vinculada à reserva

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks":[
    {
      "boot":true,
      "initializeParams":{
        "diskSizeGb": "DISK_SIZE",
        "diskType": "hyperdisk-balanced",
        "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"
      ]
    }
  ],
  "networkInterfaces": [
    {
      "accessConfigs": [
        {
          "name": "external-nat",
          "type": "ONE_TO_ONE_NAT"
        }
      ],
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
    }
  ],
  "reservationAffinity":{
    "consumeReservationType": "SPECIFIC_RESERVATION",
    "key": "compute.googleapis.com/reservation-name",
    "values":[
      "RESERVATION"
    ]
  },
  "scheduling":{
    "provisioningModel": "RESERVATION_BOUND",
    "instanceTerminationAction": "TERMINATION_ACTION",
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": true
  }
}

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.
  • VM_NAME: o nome da VM.
  • DISK_SIZE: o tamanho do disco de inicialização em GB.
  • 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 sistemas operacionais compatíveis, consulte Detalhes do sistema operacional.
  • NETWORK_PROJECT_ID: o ID do projeto da rede.
  • GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam gVNICs.
  • REGION: a região da sub-rede.
  • RDMA_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes da VPC que usam NICs RDMA.
  • RESERVATION: o nome da reserva ou um bloco específico dentro de uma reserva. Para conferir o nome da reserva ou os blocos disponíveis, consulte Ver capacidade reservada. Com base na sua exigência de posicionamento de instâncias, escolha uma das seguintes opções:
    • Para criar a instância em qualquer bloco:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      Além disso, para criar várias instâncias no mesmo bloco, aplique a mesma política de posicionamento compacto que especifica uma colocação de bloco (maxDistance=2) ao criar cada instância. Em seguida, o Compute Engine aplica a política à reserva e cria instâncias no mesmo bloco.

    • Para criar a instância em um bloco específico:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
  • TERMINATION_ACTION: se o Compute Engine interrompe (STOP) ou exclui (DELETE) a VM ao final do período de reserva.

Spot

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks":[
    {
      "boot":true,
      "initializeParams":{
        "diskSizeGb": "DISK_SIZE",
        "diskType": "hyperdisk-balanced",
        "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"
      ]
    }
  ],
  "networkInterfaces": [
    {
      "accessConfigs": [
        {
          "name": "external-nat",
          "type": "ONE_TO_ONE_NAT"
        }
      ],
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
    }
  ],
  "scheduling":
  {
    "provisioningModel": "SPOT",
    "instanceTerminationAction": "TERMINATION_ACTION"
  }
}

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.
  • VM_NAME: o nome da VM.
  • DISK_SIZE: o tamanho do disco de inicialização em GB.
  • 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 sistemas operacionais compatíveis, consulte Detalhes do sistema operacional.
  • NETWORK_PROJECT_ID: o ID do projeto da rede.
  • GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam gVNICs.
  • REGION: a região da sub-rede.
  • RDMA_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes da VPC que usam NICs RDMA.
  • 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.

Preparar a instância para uso

Para preparar uma instância com GPUs anexadas para uso, siga estas etapas:

  1. Para permitir que uma instância A4 ou A3 Ultra use as GPUs anexadas, ela precisa ter drivers de GPU instalados. A menos que a imagem na instância já inclua os drivers de GPU necessários, instale os drivers de GPU.

  2. Se você criou uma VM Spot na seção anterior, conclua as etapas a seguir:

A seguir