Como usar GPUs com o serviço

Nesta página, descrevemos como impulsionar tarefas de aprendizado profundo, como reconhecimento de imagem, processamento de linguagem natural e outras tarefas que exigem computação intensiva usando pools de nós com processamento gráfico gráfico NVIDIA. Aceleradores de hardware de unidade (GPU) para computação computacional com a instância de contêiner do Cloud Run para Anthos no Google Cloud.

Como adicionar um pool de nós com GPUs ao cluster do GKE

Peça para um administrador criar um pool de nós com GPUs:

  1. Adicione um pool de nós ativado para GPU ao cluster do GKE.

  2. Instale os drivers de dispositivo da NVIDIA nos nós.

Como configurar o serviço para consumir GPUs

É possível especificar um limite de recurso para consumir GPUs para seu serviço usando o Console do Cloud, a ferramenta de linha de comando gcloud ou um arquivo YAML quando implantar um novo serviço, atualizar um serviço atual ou uma revisão:

Console

  1. Acessar o Cloud Run for Anthos no Google Cloud
  2. Clique em Criar serviço para exibir o formulário Criar serviço.

    imagem

  3. Na seção Configurações do serviço:

    • Selecione o Cloud Run for Anthos no Google Cloud como a plataforma de desenvolvimento.
    • Selecione o cluster do GKE com o pool de nós ativado para GPU.
    • Especifique o nome que você quer dar ao serviço.
    • Selecione qual conectividade você quer usar para invocar o serviço.
    • Clique em Avançar para acessar a segunda página do formulário de criação de serviço.
  4. Na seção Configure a primeira revisão do serviço:

    imagem

    • Adicione um URL de imagem de contêiner.
    • Clique em MOSTRAR CONFIGURAÇÕES AVANÇADAS e, no menu suspenso GPU alocada, selecione o número de GPUs que você quer alocar para seu serviço. imagem
  5. Clique em Criar para implantar a imagem no Cloud Run for Anthos e aguarde a conclusão da implantação.

Linha de comando

  • Para serviços existentes, atualize uma configuração de limite de GPU executando o comando gcloud kuberun core services update com o parâmetro --gpu:

    gcloud kuberun core services update SERVICE --gpu GPU
    

    Substitua:

    • SERVICE pelo nome do serviço;
    • GPU com o número de GPUs que você quer alocar para o serviço.
  • Para novos serviços, defina o limite da GPU executando o comando gcloud kuberun core services create com o parâmetro --gpu:

    gcloud kuberun core services create SERVICE --image=IMAGE_URL --gpu GPU
    

    Substitua:

    • SERVICE pelo nome do serviço;
    • IMAGE_URL por uma referência à imagem de contêiner. Por exemplo, gcr.io/myproject/my-image:latest;
    • GPU com o número de GPUs que você quer alocar para o serviço.

YAML

Para usar um arquivo YAML para modificar a configuração do serviço atual, consiga uma cópia da configuração atual, modifique e salve as alterações em um arquivo local e, em seguida, implante essas alterações no serviço.

  1. Exiba como YAML e copie a configuração do serviço em um arquivo local, por exemplo, service.yaml:

    gcloud kuberun core services describe SERVICE --format yaml

    Substitua SERVICE pelo nome do serviço do Cloud Run for Anthos.

  2. No seu arquivo local, atualize o atributo nvidia.com/gpu:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
    name: SERVICE_NAME
    spec:
    template:
     spec:
       containers:
       – image: IMAGE_URL
         resources:
           limits:
            nvidia.com/gpu: GPU_UNITS
    

    Substitua GPU_UNITS pelo valor da GPU pretendido nas unidades de GPU do Kubernetes. Por exemplo, especifique 1 para 1 GPU.

  3. Implante o arquivo YAML e substitua o serviço pela nova configuração executando o seguinte comando:

    gcloud beta run services replace service.yaml

Para mais informações sobre o desempenho e o custo da GPU, consulte GPUs.