Adicionar ou remover GPUs


O Compute Engine fornece unidades de processamento gráfico (GPUs, na sigla em inglês) que podem ser adicionadas às instâncias de máquina virtual (VM, na sigla em inglês). É possível usar essas GPUs para acelerar cargas de trabalho específicas nas suas VMs, como aprendizado de máquina e processamento de dados.

Só é possível usar duas famílias de máquinas ao executar GPUs no Compute Engine:

  • A família de máquinas com otimização para aceleradores: A3, A2 e G2.
  • A família de máquinas de uso geral N1 A maioria dos tipos de máquina N1 pode ser usada, exceto o tipo de máquina com núcleo compartilhado N1. Se você não estiver usando uma máquina de uso geral N1, mude para uma máquina de uso geral N1 e adicione as GPUs.

Antes de começar

  • Para analisar outras etapas de pré-requisito, como selecionar uma imagem do SO e verificar a cota da GPU, consulte o documento de visão geral.
  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine 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 Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    REST

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

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

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

VMs otimizadas para aceleradores

Cada tipo de máquina com otimização de acelerador tem um modelo específico de GPUs NVIDIA anexado.

É possível modificar cada VM otimizada para aceleradores da seguinte maneira:

  • No caso do A2 Ultra e de todas as VMs A3, não é possível modificar o tipo de máquina. Se você estiver usando um desses tipos de máquina na sua VM e precisar alterar o tipo de máquina e criar uma nova VM.

  • Para VMs padrão A2, é possível modificar a contagem de GPUs alternando de um tipo de máquina padrão A2 para outro tipo de máquina A2 padrão.

  • Para VMs da G2, faça o seguinte:

    • É possível modificar a contagem de GPUs alternando de um tipo de máquina G2 para outro tipo de máquina G2.
    • É possível alternar de um tipo de máquina G2 para um tipo de máquina de uma família de máquinas diferente, como de uso geral ou com otimização para computação. Consulte Editar o tipo de máquina de uma VM.
  • Não é possível remover GPUs de nenhum tipo de máquina otimizado para acelerador. Se você não precisa mais de GPUs, faça o seguinte:

    • Crie uma nova VM para todas as VMs A3 ou A2.
    • Para VMs da G2, mude para um tipo de máquina de uma família de máquinas diferente.

Modificar a contagem de GPUs

É possível modificar a contagem de GPUs de uma VM padrão A2 ou otimizada para aceleradores G2 usando o console do Google Cloud ou a REST.

Console

Para modificar o número de GPUs da sua VM, interrompa a VM e edite a configuração dela.

  1. Verifique se todos os aplicativos críticos estão parados na VM.

  2. No Console do Google Cloud, acesse a página Instâncias de VMs para ver sua lista de VMs.

    Acessar instâncias de VM

  3. Clique no nome da VM com o número de GPUs que você quer modificar. A página Detalhes é aberta.

  4. Conclua as etapas a seguir na página Detalhes.

    1. Se a VM estiver em execução, clique em Stop na barra de ferramentas. Aguarde a VM ser interrompida.

    2. Na barra de ferramentas, clique em Editar.

    3. Na seção Configuração da máquina, selecione a família de máquinas GPU e faça o seguinte:

      1. Na lista Número de GPUs, aumente ou diminua a contagem de GPUs.

    4. Para aplicar as alterações, clique em Salvar.

    5. Para reiniciar a VM, clique em Iniciar/Retomar.

REST

Para modificar o número de GPUs na VM, interrompa a VM e altere o tipo de máquina. Cada tipo de máquina com otimização para aceleradores tem um número específico de GPUs anexadas. Se você alterar o tipo de máquina, isso ajustará o número de GPUs conectadas à VM.

  1. Verifique se todos os aplicativos importantes estão parados na VM. Depois, crie um comando POST para pará-la. Assim, ela pode ser movida para um sistema host em que as GPUs estão disponíveis.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    
  2. Depois que a VM parar, crie uma solicitação POST para alterar o tipo de máquina.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineType
    
    {
       machineType: "zones/ZONE/machineTypes/MACHINE_TYPE"
    }
    
  3. Inicie a VM.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

Substitua:

  • PROJECT_ID: o ID do projeto.
  • VM_NAME: o nome da VM a que você quer adicionar GPUs.
  • ZONE: é a zona em que a VM está localizada Essa zona precisa ser compatível com GPUs.
  • MACHINE_TYPE: o tipo de máquina que você quer usar. Ele precisa ser um dos seguintes:

    • Se a VM estiver usando uma máquina padrão A2, selecione outro tipo de máquina A2.
    • Se a VM estiver usando um tipo de máquina G2, selecione outro tipo de máquina G2. Os tipos de máquina G2 também oferecem suporte a memória personalizada. A memória precisa ser um múltiplo de 1.024 MB e estar dentro do intervalo de memória compatível. Por exemplo, para criar uma VM com 4 vCPUs e 19 GB de memória, especifique --machine-type=g2-custom-4-19456.

Limitações

VMs A2

  • Você não recebe descontos por uso prolongado e descontos por compromisso de uso flexível no caso de VMs que usam tipos de máquina A2 padrão.
  • Só é possível usar tipos de máquina padrão A2 em determinadas regiões e zonas.
  • Não é possível usar discos permanentes regionais em VMs que usam tipos de máquina A2 padrão.
  • Os tipos de máquina A2 padrão só estão disponíveis na plataforma Cascade Lake.
  • Se a VM usa um tipo de máquina padrão A2, só é possível trocar esse tipo A2 padrão por outro tipo A2 padrão. Não é possível mudar para outro tipo de máquina. Para mais informações, consulte Modificar VMs otimizadas para aceleradores.
  • Você não pode usar o sistema operacional Windows com tipos de máquina A2 <codea2-megagpu-16g< code="" dir="ltr" translate="no">. Ao usar sistemas operacionais Windows, escolha um tipo de máquina diferente do padrão A2.</codea2-megagpu-16g<>
  • Não é possível fazer um formato rápido dos SSDs locais anexados em VMs do Windows que usam tipos de máquina padrão A2. Para formatar esses SSDs locais, é preciso usar o utilitário diskpart e especificar format fs=ntfs label=tmpfs.
  • Os tipos de máquina A2 padrão não dão suporte a locatários individuais.

VMs G2

  • Você não recebe descontos por uso prolongado e descontos por compromisso de uso flexível no caso de VMs que usam tipos de máquina A2.
  • Só é possível usar os tipos de máquinas G2 em determinadas regiões e zonas.
  • Não é possível usar discos permanentes regionais em VMs que usam tipos de máquina G2.
  • Os tipos de máquina G2 só estão disponíveis na plataforma Cascade Lake.
  • Os discos permanentes padrão (pd-standard) não são compatíveis com VMs que usam tipos de máquina padrão G2. Para saber quais são os tipos de disco compatíveis, consulte Tipos de disco compatíveis com a G2.
  • Não é possível criar GPUs de várias instâncias nos tipos de máquina G2.
  • Se precisar mudar o tipo de máquina de uma VM G2, consulte Modificar VMs otimizadas para aceleradores.
  • Não é possível usar o Deep Learning VM Images como discos de inicialização para suas VMs que usam os tipos de máquina G2.
  • O driver padrão atual para o Container-Optimized OS não oferece suporte a GPUs L4 em execução nos tipos de máquina G2. O Container-Optimized OS também é compatível apenas com um conjunto selecionado de drivers. Se você quiser usar o Container-Optimized OS em tipos de máquina G2, leia as seguintes observações:
    • Use uma versão do Container-Optimized OS que seja compatível com a versão mínima recomendada do driver NVIDIA ou 525.60.13. Para mais informações, consulte as Notas de lançamento do Container-Optimized OS.
    • Ao instalar o driver, especifique a versão mais recente disponível que funciona para as GPUs L4. Por exemplo, sudo cos-extensions install gpu -- -version=525.60.13.
  • Use a CLI do Google Cloud ou REST para criar VMs G2 nos seguintes cenários:
    • Você quer especificar valores de memória personalizados.
    • Você quer personalizar o número de núcleos de CPU visíveis.

VMs de uso geral N1

Esta seção mostra como adicionar ou remover GPUs de uma máquina de uso geral N1.

Em resumo, o processo para adicionar, modificar ou remover GPUs de uma VM atual é o seguinte:

  1. Verifique se a VM tem um tamanho de disco de inicialização de pelo menos 40 GB.
  2. Pare a VM.
  3. Adicionar, modificar ou remover as GPUs;

    Se sua VM não tinha GPUs anexadas antes, você precisará concluir as seguintes etapas:

    1. Prepare sua VM para a modificação.
    2. Modifique a configuração de manutenção do host para a VM. VMs com GPUs não podem migrar em tempo real porque estão atribuídas a dispositivos de hardware específicos. Para mais informações, consulte Restrições da GPU.
    3. Altere o tipo de máquina. As GPUs são compatíveis apenas com tipos de máquina selecionados.
    4. Instale um driver de GPU na VM para que o sistema possa usar o dispositivo.

Prepare sua VM

Quando uma GPU é adicionada a uma VM, a ordem da interface de rede pode mudar.

A maioria das imagens públicas no Compute Engine não tem nomes de interface de rede persistentes e se ajusta à nova ordem.

No entanto, se você estiver usando o SLES ou uma imagem personalizada, será necessário atualizar a configuração do sistema para evitar que a interface de rede persista. Para evitar que a interface de rede persista, execute o seguinte comando na VM:

 rm /etc/udev/rules.d/70-persistent-net.rules 

Adicionar GPUs ou modificar o tipo de GPU em VMs atuais

Esta seção mostra como adicionar GPUs ou modificar o tipo de GPU em VMs N1 de uso geral. Este procedimento é compatível com os seguintes tipos de GPU:

GPUs NVIDIA:

  • NVIDIA T4: nvidia-tesla-t4
  • NVIDIA P4: nvidia-tesla-p4
  • NVIDIA P100: nvidia-tesla-p100
  • NVIDIA V100: nvidia-tesla-v100

NVIDIA RTX Virtual Workstation (vWS) (anteriormente conhecida como NVIDIA GRID):

  • NVIDIA T4 Virtual Workstation: nvidia-tesla-t4-vws
  • NVIDIA P4 Virtual Workstation: nvidia-tesla-p4-vws
  • NVIDIA P100 Virtual Workstation: nvidia-tesla-p100-vws

    Para essas estações de trabalho virtuais, uma licença da NVIDIA RTX Virtual Workstation (vWS) é adicionada automaticamente à VM.

Console

Para adicionar GPUs ou modificar o tipo de GPU, conclua as etapas a seguir.

  1. Verifique se todos os aplicativos críticos estão parados na VM.

  2. No Console do Google Cloud, acesse a página Instâncias de VMs para ver sua lista de VMs.

    Acessar instâncias de VM

  3. Clique no nome da VM a ser alterada. A página Detalhes é aberta.

  4. Conclua as etapas a seguir na página Detalhes.

    1. Se a VM estiver em execução, clique em Stop na barra de ferramentas. Aguarde a VM ser interrompida.

    2. Na barra de ferramentas, clique em Editar.

    3. Na seção Configuração da máquina, selecione a família de máquinas GPU e faça o seguinte:

      1. Na lista Tipo de GPU, selecione ou alterne para qualquer um dos tipos de GPU suportados nas VMs N1.

      2. Na lista Número de GPUs, selecione o número de GPUs.

      3. Se o modelo de GPU for compatível com estação de trabalho virtual NVIDIA RTX (vWS) para cargas de trabalho gráficas e você planeja executar cargas de trabalho com muitos gráficos nessa VM, selecione Ativar Estação de trabalho virtual (NVIDIA GRID)

    4. Se a VM não tinha GPUs anexadas antes, faça o seguinte:

      1. Se a VM tiver um tipo de máquina com núcleo compartilhado, será necessário alterá-lo. Na lista Tipo de máquina, selecione um dos tipos de máquina N1 predefinidos. Outra opção é especificar as configurações de tipo de máquina personalizado.

      2. Na seção Gerenciamento, faça o seguinte:

        1. Na lista Na manutenção do host, selecione Encerrar instância da VM. As VMs com GPUs anexadas não podem migrar em tempo real. Consulte Gerenciar eventos do host da GPU.

        2. Na lista Reinicialização automática, selecione Desativada.

    5. Para aplicar as alterações, clique em Salvar.

    6. Para reiniciar a VM, clique em Iniciar/Retomar.

REST

Para adicionar ou modificar GPUs na VM, interrompa a VM e altere a configuração dela por meio da API.

  1. Verifique se todos os aplicativos importantes estão parados na VM. Depois, crie um comando POST para pará-la. Assim, ela pode ser movida para um sistema host em que as GPUs estão disponíveis.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    
  2. Se a VM não tinha GPUs anexadas antes, siga estas etapas:

    1. Identifique o tipo de GPU que você quer adicionar à VM. É possível enviar uma solicitação GET para listar os tipos de GPU disponíveis para o projeto em uma zona específica.

      GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes
      
    2. Se a VM tiver um tipo de máquina com núcleo compartilhado, altere o tipo de máquina para ter uma ou mais vCPUs. Não é possível adicionar aceleradores a VMs com tipos de máquinas com núcleo compartilhado.

    3. Crie um comando POST para definir as opções de programação da VM.

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling
      
      {
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": true
      }
      
  3. Crie uma solicitação POST para adicionar ou modificar as GPUs anexadas à VM.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineResources
    
        {
         "guestAccelerators": [
          {
            "acceleratorCount": ACCELERATOR_COUNT,
            "acceleratorType": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
          }
         ]
        }
    
  4. Inicie a VM.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

    Substitua:

    • PROJECT_ID: o ID do projeto
    • VM_NAME: o nome da VM a que você quer adicionar GPUs.
    • ZONE: é a zona em que a VM está localizada
    • ACCELERATOR_COUNT: o número de GPUs que você quer anexar à sua VM. Para ver uma lista de limites da GPU com base no tipo de máquina da VM, consulte GPUs no Compute Engine.
    • ACCELERATOR_TYPE: o modelo de GPU que você quer anexar ou alterar. Se você planeja executar cargas de trabalho com muitos gráficos nesta VM, use um dos modelos de estação de trabalho virtual.

      Escolha um dos seguintes valores:

      • GPUs NVIDIA:

        • NVIDIA T4: nvidia-tesla-t4
        • NVIDIA P4: nvidia-tesla-p4
        • NVIDIA P100: nvidia-tesla-p100
        • NVIDIA V100: nvidia-tesla-v100
      • NVIDIA RTX Virtual Workstation (vWS) (anteriormente conhecida como NVIDIA GRID):

        • NVIDIA T4 Virtual Workstation: nvidia-tesla-t4-vws
        • NVIDIA P4 Virtual Workstation: nvidia-tesla-p4-vws
        • NVIDIA P100 Virtual Workstation: nvidia-tesla-p100-vws

        Para essas estações de trabalho virtuais, uma licença da NVIDIA RTX Virtual Workstation é adicionada automaticamente à VM.

Instalar drivers

Para instalar os drivers, escolha uma das seguintes opções:

Remover GPUs

Esta seção mostra como remover os seguintes tipos de GPU de uma VM de uso geral N1 atual.

GPUs NVIDIA:

  • NVIDIA T4: nvidia-tesla-t4
  • NVIDIA P4: nvidia-tesla-p4
  • NVIDIA P100: nvidia-tesla-p100
  • NVIDIA V100: nvidia-tesla-v100

NVIDIA RTX Virtual Workstation (vWS) (anteriormente conhecida como NVIDIA GRID):

  • NVIDIA T4 Virtual Workstation: nvidia-tesla-t4-vws
  • NVIDIA P4 Virtual Workstation: nvidia-tesla-p4-vws
  • NVIDIA P100 Virtual Workstation: nvidia-tesla-p100-vws

    Para essas estações de trabalho virtuais, uma licença da NVIDIA RTX Virtual Workstation (vWS) é adicionada automaticamente à VM.

Use o console do Google Cloud para remover GPUs de uma VM. Para remover as GPUs, siga as etapas a seguir:

  1. Verifique se todos os aplicativos críticos estão parados na VM.

  2. No Console do Google Cloud, acesse a página Instâncias de VMs para ver sua lista de VMs.

    Acessar instâncias de VM

  3. Clique no nome da VM com as GPUs que você quer remover. A página Detalhes é aberta.

  4. Conclua as etapas a seguir na página Detalhes.

    1. Se a VM estiver em execução, clique em Stop na barra de ferramentas. Aguarde a VM ser interrompida.

    2. Na barra de ferramentas, clique em Editar.

    3. Na seção Configuração da máquina, selecione a família de máquinas Uso geral e faça o seguinte:

      1. Para ver as GPUs anexadas, abra Configurações avançadas.

      2. Na seção GPUs, remova GPUs usando uma das seguintes opções:

        • Para remover algumas GPUs, na lista Número de GPUs, selecione um número novo.

        • Para remover todas as GPUs, clique em Excluir GPU.

    4. Opcional: modifique a configuração da política de manutenção do host da VM. As VMs com GPUs precisam ter a política de manutenção do host definida como Encerrar a instância da VM. No entanto, se você removeu todas as GPUs, terá a opção de migrar esta VM em tempo real durante a manutenção do host. Para mais informações, consulte Definir política de manutenção do host da VM.

    5. Para aplicar as alterações, clique em Salvar.

    6. Para reiniciar a VM, clique em Iniciar/Retomar.

A seguir