Usar GPUs NVIDIA

Esta página descreve como executar tarefas de aprendizagem profunda, como reconhecimento de imagens, processamento de linguagem natural, bem como outras tarefas que exigem muitos recursos de computação, usando pools de nós com aceleradores de hardware da unidade de processamento de gráficos (GPU) da NVIDIA para poder de computação com a sua instância de contentor do Knative Serving.

Adicionar um grupo de nós com GPUs ao seu cluster do GKE

Peça a um administrador para criar um node pool com GPUs:

  1. Adicione um conjunto de nós com GPU ao seu cluster do GKE.

  2. Instale os controladores de dispositivos da NVIDIA nos nós.

Configurar o seu serviço para consumir GPUs

Pode especificar um limite de recursos para consumir GPUs para o seu serviço através da consola ou da CLI Google Cloud quando implementa um novo serviço, atualiza um serviço existente ou implementa uma revisão: Google Cloud

Consola

  1. Aceda ao Knative Serving
  2. Clique em Criar serviço para apresentar o formulário Criar serviço.

  3. Na secção Definições do serviço:

    1. Selecione o cluster do GKE com o grupo de nós compatível com GPU.
    2. Especifique o nome que quer dar ao seu serviço.
    3. Clique em Seguinte para continuar para a secção seguinte.
  4. Na secção Configure a primeira revisão do serviço:

    imagem

    1. Adicione um URL de imagem de contentor.
    2. Clique em Definições avançadas e, no menu GPU atribuída, selecione o número de GPUs que quer atribuir ao seu serviço. imagem
  5. Clique em Seguinte para continuar para a secção seguinte.

  6. Na secção Configure como este serviço é acionado, selecione a conetividade que quer usar para invocar o serviço.

  7. Clique em Criar para implementar a imagem no Knative Serving e aguarde que a implementação termine.

Linha de comandos

Pode transferir a configuração de um serviço existente para um ficheiro YAML com o comando gcloud run services describe usando a flag --format=export. Em seguida, pode modificar esse ficheiro YAML e implementar essas alterações com o comando gcloud run services replace. Tem de garantir que modifica apenas os atributos especificados.

  1. Transfira a configuração do seu serviço para um ficheiro denominado service.yaml no espaço de trabalho local:

    gcloud run services describe SERVICE --format export > service.yaml

    Substitua SERVICE pelo nome do seu serviço de fornecimento do Knative.

  2. No ficheiro 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 desejado nas unidades de GPU do Kubernetes. Por exemplo, especifique 1 para 1 GPU.

  3. Implemente o ficheiro YAML e substitua o seu serviço pela nova configuração executando o seguinte comando:

    gcloud run services replace service.yaml

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