Crie uma instância A3 Ultra ou A4

Este documento descreve como criar instâncias com GPUs anexadas a partir das séries de máquinas A3 Ultra ou A4. Para saber mais sobre como criar instâncias com GPUs anexadas, consulte o resumo da criação de uma instância com GPUs anexadas.

As máquinas das séries A4 e A3 Ultra foram concebidas para lhe permitir executar clusters de IA/AA em grande escala com funcionalidades como o posicionamento de cargas de trabalho direcionadas, controlos avançados de manutenção de clusters e agendamento com reconhecimento da topologia. Para mais informações, consulte o artigo Vista geral da gestão de clusters.

Antes de começar

  • Para rever as limitações e os passos de pré-requisitos adicionais para criar instâncias com GPUs anexadas, como selecionar uma imagem do SO ou verificar a quota de GPUs, consulte a vista geral da criação de uma instância com GPUs anexadas.
  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Trusted Cloud by S3NS serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:

    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 Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init
    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

    Para mais informações, consulte o artigo Autenticar para usar REST na Trusted Cloud documentação de autenticação.

Funções necessárias

Para receber as autorizações de que precisa para criar instâncias, peça ao seu administrador para lhe conceder a função Administrador de instâncias do Compute (v1) (roles/compute.instanceAdmin.v1) do IAM no projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém as autorizações necessárias para criar instâncias. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para criar instâncias:

  • compute.instances.create no projeto
  • Para usar uma imagem personalizada para criar a VM: compute.images.useReadOnly na imagem
  • Para usar um instantâneo para criar a VM: compute.snapshots.useReadOnly no instantâneo
  • Para usar um modelo de instância para criar a VM: compute.instanceTemplates.useReadOnly no modelo de instância
  • Para especificar uma sub-rede para a sua VM: compute.subnetworks.use no projeto ou na sub-rede escolhida
  • Para especificar um endereço IP estático para a VM: compute.addresses.use no projeto
  • Para atribuir um endereço IP externo à VM quando usar uma rede VPC: compute.subnetworks.useExternalIp no projeto ou na sub-rede escolhida
  • Para atribuir uma rede antiga à VM: compute.networks.use no projeto
  • Para atribuir um endereço IP externo à VM quando usar uma rede antiga: compute.networks.useExternalIp no projeto
  • Para definir os metadados da instância de VM para a VM: compute.instances.setMetadata no projeto
  • Para definir etiquetas para a VM: compute.instances.setTags na VM
  • Para definir etiquetas para a VM: compute.instances.setLabels na VM
  • Para definir uma conta de serviço para a VM usar: compute.instances.setServiceAccount na VM
  • Para criar um novo disco para a VM: compute.disks.create no projeto
  • Para anexar um disco existente no modo de leitura ou leitura/escrita: compute.disks.use no disco
  • Para anexar um disco existente no modo de leitura: compute.disks.useReadOnly no disco

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Determine como criar instâncias A3 Ultra ou A4

Para determinar as opções que quer usar para criar instâncias A3 Ultra ou A4, conclua os seguintes passos:

  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 o artigo Escolha uma opção de consumo na documentação do AI Hypercomputer.

  2. Obtenha capacidade: para saber como obter capacidade para instâncias A3 Ultra ou A4 para a opção de consumo que escolheu, consulte a vista geral da capacidade na documentação do hipercomputador de IA.

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

    Se quiser usar as funcionalidades de gestão de clusters 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.

Crie uma instância A3 Ultra ou A4

Para criar uma instância A3 Ultra ou A4, conclua os seguintes passos:

  1. Crie redes VPC

  2. Crie a instância

  3. Prepare a instância para utilização

Crie 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:

  • 2 redes VPC normais para as interfaces de rede (NIC) gVNIC. Estes são usados para a comunicação entre anfitriões.
  • É necessária 1 rede VPC com o perfil de rede RoCE para as NICs CX-7. A rede VPC RoCE tem de ter 8 sub-redes, uma sub-rede para cada NIC CX-7. Estas NICs usam RDMA over Converged Ethernet (RoCE), o que oferece a comunicação de elevada largura de banda e baixa latência essencial para a comunicação entre GPUs.

Para mais informações sobre a disposição da NIC, consulte o artigo Reveja a largura de banda da rede e a disposição da NIC.

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

Guias de instruções

Para criar as redes, pode usar as seguintes instruções:

Para estas redes de VPC, recomendamos que defina a unidade de transmissão máxima (MTU) para um valor superior. Para o tipo de máquina A4 ou A3 Ultra, a MTU recomendada é de 8896 bytes. Para rever as definições de MTU recomendadas para outros tipos de máquinas com GPU, consulte o artigo Definições de MTU para tipos de máquinas com GPU.

Script

Para criar as redes, siga estes passos.

Para estas redes de VPC, recomendamos que defina a unidade de transmissão máxima (MTU) para um valor superior. Para o tipo de máquina A4 ou A3 Ultra, a MTU recomendada é de 8896 bytes. Para rever as definições de MTU recomendadas para outros tipos de máquinas com GPU, consulte o artigo Definições de MTU para tipos de máquinas com GPU.

  1. Use o seguinte script 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 o seguinte:

    • GVNIC_NAME_PREFIX: o prefixo do nome personalizado a usar para as redes e sub-redes de VPC normais para as gVNICs.
    • RDMA_NAME_PREFIX: o prefixo do nome personalizado a usar para a rede VPC e as sub-redes RoCE para as NICs CX-7.
    • ZONE: especifique uma zona na qual o tipo de máquina que quer usar está disponível, como us-central1-a. Para informações sobre regiões, consulte o artigo Disponibilidade de GPUs por regiões e zonas.
    • REGION: a região onde quer criar as sub-redes. Esta região tem de corresponder à zona especificada. Por exemplo, se a sua zona for us-central1-a, a sua região é us-central1.
    • IP_RANGE: o intervalo de IP a usar para as regras de firewall SSH.
  2. Opcional: para verificar se os recursos da rede VPC foram criados com êxito, verifique as definições de rede na Trusted Cloud consola:
    1. Na Trusted Cloud consola, aceda à página Redes VPC.

      Aceda a redes de VPC

    2. Pesquise na lista as redes que criou no passo anterior.
    3. Para ver as sub-redes, as regras da firewall e outras definições de rede, clique no nome da rede.

Crie a instância

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

Consola

  1. Na Trusted Cloud consola, aceda à página Criar uma instância.

    Aceda a Criar uma instância

    É apresentado o ecrã Criar uma instância, que mostra o painel Configuração da máquina.

  2. No painel Configuração do computador, conclua os seguintes passos:

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

    2. Selecione a Região e a Zona onde tem capacidade reservada.

    3. Clique no separador GPUs e, de seguida, conclua os seguintes passos:

      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 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 apresentado, conclua os seguintes passos:

    1. Clique em Alterar. É apresentado o painel Configuração do disco de arranque.

    2. No separador Imagens públicas, selecione uma imagem recomendada. Para ver uma lista de imagens recomendadas, consulte Sistemas operativos.

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

  4. Para criar uma instância com várias NICs, conclua os seguintes passos. Caso contrário, para criar uma instância com uma única NIC, ignore estes passos.

    • No menu de navegação, clique em Rede. No painel Rede apresentado, conclua os seguintes passos:

      1. Na secção Interfaces de rede, conclua os seguintes passos:

      2. Elimine a interface de rede predefinida. Para eliminar a interface, clique em Eliminar.

      3. Clique em Adicionar uma interface de rede. Use esta opção para adicionar interfaces de rede que se associam às redes VPC que criou na secção anterior. Quando adicionar as interfaces de rede, lembre-se do seguinte:

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

        • Para uma interface de rede usada para comunicação de GPU para GPU, 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 estas interfaces de rede.

  5. No menu de navegação, clique em Avançadas. Em seguida, conclua os passos seguintes para o modelo de aprovisionamento que quer usar.

    Flex-start

    1. Na secção Modelo de aprovisionamento, na lista Modelo de aprovisionamento de VMs, selecione Início flexível.
    2. Em Introduza o número de horas, introduza a quantidade máxima de tempo que quer que a VM seja executada. O valor tem de estar compreendido entre 46 segundos (0.01) e sete dias (168 ou 168 horas).

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

      Com base nos requisitos zonais da sua carga de trabalho, recomendamos que especifique uma das seguintes durações para ajudar a aumentar as probabilidades de o seu pedido de criação de VM ser bem-sucedido:

      • Cargas de trabalho com requisitos zonais rigorosos: se a sua carga de trabalho exigir que crie a VM numa zona específica, especifique uma duração entre 90 segundos e 2 horas. As durações mais longas dão-lhe maiores hipóteses de obter recursos.
      • Cargas de trabalho sem requisitos zonais rigorosos: se a VM puder ser executada em qualquer zona na região, especifique uma duração de 0 segundos ou desmarque a caixa de verificação Definir um tempo de espera para a criação de VMs. Esta ação especifica que o Compute Engine só atribui recursos se estiverem imediatamente disponíveis. Se o pedido de criação de VM falhar porque os recursos estão indisponíveis, tente novamente o pedido numa zona diferente.

    Restrito a reserva

    1. Clique em Escolher uma reserva. Esta ação abre um painel com uma lista de reservas disponíveis na zona selecionada. Na lista de reservas, conclua os seguintes passos:

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

    Espaço

    1. Na secção Modelo de aprovisionamento, selecione Spot na lista Modelo de aprovisionamento de VMs.
    2. Opcional: para selecionar a ação de encerramento que ocorre quando o Compute Engine antecipa a VM, conclua os seguintes passos:

      1. Expanda a secção Definições avançadas do modelo de aprovisionamento de VMs.
      2. Na lista On VM termination, selecione uma das seguintes opções:
        • Para parar a VM durante a remoção preventiva, selecione Parar (predefinição).
        • Para eliminar a VM durante a preempção, selecione Eliminar.
  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 tem de especificar dependem da opção de consumo que está a usar para esta implementação. Selecione o separador que corresponde ao modelo de aprovisionamento da sua opção de consumo.

Flex-start

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 o seguinte:

  • VM_NAME: o nome da VM.
  • MACHINE_TYPE: o tipo de máquina a usar 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 quer usar. Para ver uma lista dos sistemas operativos suportados, consulte o artigo Detalhes do sistema operativo.
  • IMAGE_PROJECT: o ID do projeto da imagem do SO.
  • ZONE: a zona na qual o tipo de máquina que quer usar está disponível. Para informações sobre regiões, consulte o artigo Disponibilidade de GPUs por regiões e zonas.
  • DISK_SIZE: o tamanho do disco de arranque em GB.
  • GVNIC_NAME_PREFIX: o prefixo do nome que especificou quando criou as redes VPC e as sub-redes padrão que usam gVNICs.
  • RDMA_NAME_PREFIX: o prefixo do nome que especificou quando criou as redes VPC e as sub-redes que usam NICs RDMA.
  • REQUEST_VALID_FOR_DURATION: a duração durante a qual o pedido de criação da VM é válido. Tem de formatar o valor como o número de dias, horas, minutos ou segundos seguido de d, h, m e s, respetivamente. Por exemplo, especifique 30m para 30 minutos ou 1d2h3m4s para um dia, duas horas, três minutos e quatro segundos. Se não especificar uma duração, a duração predefinida é de 90 segundos.

    Com base nos requisitos zonais da sua carga de trabalho, recomendamos que especifique uma das seguintes durações para ajudar a aumentar as probabilidades de o seu pedido de criação de VM ser bem-sucedido:

    • Cargas de trabalho com requisitos zonais rigorosos: se a sua carga de trabalho exigir que crie a VM numa zona específica, especifique uma duração entre 90 segundos e duas horas. As durações mais longas aumentam as suas hipóteses de obter recursos.
    • Cargas de trabalho sem requisitos zonais rigorosos: se a VM puder ser executada em qualquer zona na região, especifique uma duração de zero segundos (0). Esta ação especifica que o Compute Engine só atribui recursos se estiverem imediatamente disponíveis. Se o pedido de criação da VM falhar porque os recursos estão indisponíveis, tente novamente o pedido numa zona diferente.
  • MAX_RUN_DURATION: a duração durante a qual quer que as VMs pedidas sejam executadas. Tem de formatar o valor como o número de dias, horas, minutos ou segundos, seguido de d, h, m e s, respetivamente. Por exemplo, especifique 30m para 30 minutos ou 1d2h3m4s para um dia, duas horas, três minutos e quatro segundos. O valor tem de estar entre 10 minutos e sete dias.

Restrito a 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 o seguinte:

  • VM_NAME: o nome da VM.
  • MACHINE_TYPE: o tipo de máquina a usar 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 quer usar. Para ver uma lista dos sistemas operativos suportados, consulte o artigo Detalhes do sistema operativo.
  • IMAGE_PROJECT: o ID do projeto da imagem do SO.
  • ZONE: a zona na qual o tipo de máquina que quer usar está disponível. Para informações sobre regiões, consulte o artigo Disponibilidade de GPUs por regiões e zonas.
  • DISK_SIZE: o tamanho do disco de arranque em GB.
  • GVNIC_NAME_PREFIX: o prefixo do nome que especificou quando criou as redes VPC e as sub-redes padrão que usam gVNICs.
  • RDMA_NAME_PREFIX: o prefixo do nome que especificou quando criou as redes VPC e as sub-redes que usam NICs RDMA.
  • RESERVATION: o nome da reserva ou um bloco específico numa reserva. Para obter o nome da reserva ou os blocos disponíveis, consulte o artigo Veja a capacidade reservada. Com base no seu requisito 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 conjunta de blocos (maxDistance=2) quando 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 num bloco específico:

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

Espaço

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 o seguinte:

  • VM_NAME: o nome da VM.
  • MACHINE_TYPE: o tipo de máquina a usar 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 quer usar. Para ver uma lista dos sistemas operativos suportados, consulte o artigo Detalhes do sistema operativo.
  • IMAGE_PROJECT: o ID do projeto da imagem do SO.
  • ZONE: a zona na qual o tipo de máquina que quer usar está disponível. Para informações sobre regiões, consulte o artigo Disponibilidade de GPUs por regiões e zonas.
  • DISK_SIZE: o tamanho do disco de arranque em GB.
  • GVNIC_NAME_PREFIX: o prefixo do nome que especificou quando criou as redes VPC e as sub-redes padrão que usam gVNICs.
  • RDMA_NAME_PREFIX: o prefixo do nome que especificou quando criou as redes VPC e as sub-redes que usam NICs RDMA.
  • TERMINATION_ACTION: a ação a realizar quando o Compute Engine preempts a instância, STOP (predefinição) ou DELETE.

REST

Para criar a VM, faça um pedido POST ao método instances.insert.

Os parâmetros que tem de especificar dependem da opção de consumo que está a usar para esta implementação. Selecione o separador que corresponde ao modelo de aprovisionamento da sua opção de consumo.

Flex-start

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 o seguinte:

  • PROJECT_ID: o ID do projeto onde quer criar a VM.
  • ZONE: a zona na qual o tipo de máquina que quer usar está disponível. Para informações sobre regiões, consulte o artigo Disponibilidade de GPUs por regiões e zonas.
  • MACHINE_TYPE: o tipo de máquina a usar 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 arranque em GB.
  • IMAGE_PROJECT: o ID do projeto da imagem do SO.
  • IMAGE_FAMILY: a família de imagens da imagem do SO que quer usar. Para ver uma lista dos sistemas operativos suportados, consulte o artigo Detalhes do sistema operativo.
  • NETWORK_PROJECT_ID: o ID do projeto da rede.
  • GVNIC_NAME_PREFIX: o prefixo do nome que especificou quando criou as redes VPC e as sub-redes padrão que usam gVNICs.
  • REGION: a região da sub-rede.
  • RDMA_NAME_PREFIX: o prefixo do nome que especificou quando criou as redes VPC e as sub-redes que usam NICs RDMA.
  • REQUEST_VALID_FOR_DURATION: a duração durante a qual o pedido de criação da VM é válido. Tem de formatar o valor como o número de dias, horas, minutos ou segundos seguido de d, h, m e s, respetivamente. Por exemplo, especifique 30m para 30 minutos ou 1d2h3m4s para um dia, duas horas, três minutos e quatro segundos. Se não especificar uma duração, a duração predefinida é de 90 segundos.

    Com base nos requisitos zonais da sua carga de trabalho, recomendamos que especifique uma das seguintes durações para ajudar a aumentar as probabilidades de o seu pedido de criação de VM ser bem-sucedido:

    • Cargas de trabalho com requisitos zonais rigorosos: se a sua carga de trabalho exigir que crie a VM numa zona específica, especifique uma duração entre 90 segundos e duas horas. As durações mais longas aumentam as suas hipóteses de obter recursos.
    • Cargas de trabalho sem requisitos zonais rigorosos: se a VM puder ser executada em qualquer zona na região, especifique uma duração de zero segundos (0). Esta ação especifica que o Compute Engine só atribui recursos se estiverem imediatamente disponíveis. Se o pedido de criação da VM falhar porque os recursos estão indisponíveis, tente novamente o pedido numa zona diferente.
  • MAX_RUN_DURATION: a duração durante a qual quer que as VMs pedidas sejam executadas. Tem de formatar o valor como o número de segundos. Por exemplo, especifique 86400 para um dia. O valor tem de estar entre 10 minutos e sete dias.

Restrito a 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 o seguinte:

  • PROJECT_ID: o ID do projeto onde quer criar a VM.
  • ZONE: a zona na qual o tipo de máquina que quer usar está disponível. Para informações sobre regiões, consulte o artigo Disponibilidade de GPUs por regiões e zonas.
  • MACHINE_TYPE: o tipo de máquina a usar 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 arranque em GB.
  • IMAGE_PROJECT: o ID do projeto da imagem do SO.
  • IMAGE_FAMILY: a família de imagens da imagem do SO que quer usar. Para ver uma lista dos sistemas operativos suportados, consulte o artigo Detalhes do sistema operativo.
  • NETWORK_PROJECT_ID: o ID do projeto da rede.
  • GVNIC_NAME_PREFIX: o prefixo do nome que especificou quando criou as redes VPC e as sub-redes padrão que usam gVNICs.
  • REGION: a região da sub-rede.
  • RDMA_NAME_PREFIX: o prefixo do nome que especificou quando criou as redes VPC e as sub-redes que usam NICs RDMA.
  • RESERVATION: o nome da reserva ou um bloco específico numa reserva. Para obter o nome da reserva ou os blocos disponíveis, consulte o artigo Veja a capacidade reservada. Com base no seu requisito 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 conjunta de blocos (maxDistance=2) quando 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 num bloco específico:

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

Espaço

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 o seguinte:

  • PROJECT_ID: o ID do projeto onde quer criar a VM.
  • ZONE: a zona na qual o tipo de máquina que quer usar está disponível. Para informações sobre regiões, consulte o artigo Disponibilidade de GPUs por regiões e zonas.
  • MACHINE_TYPE: o tipo de máquina a usar 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 arranque em GB.
  • IMAGE_PROJECT: o ID do projeto da imagem do SO.
  • IMAGE_FAMILY: a família de imagens da imagem do SO que quer usar. Para ver uma lista dos sistemas operativos suportados, consulte o artigo Detalhes do sistema operativo.
  • NETWORK_PROJECT_ID: o ID do projeto da rede.
  • GVNIC_NAME_PREFIX: o prefixo do nome que especificou quando criou as redes VPC e as sub-redes padrão que usam gVNICs.
  • REGION: a região da sub-rede.
  • RDMA_NAME_PREFIX: o prefixo do nome que especificou quando criou as redes VPC e as sub-redes que usam NICs RDMA.
  • TERMINATION_ACTION: a ação a realizar quando o Compute Engine preempts a instância, STOP (predefinição) ou DELETE.

Prepare a instância para utilização

Para preparar uma instância com GPUs anexadas para utilização, conclua os seguintes passos:

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

  2. Se criou uma VM de Spot na secção anterior, conclua os seguintes passos:

O que se segue?