Como monitorar o desempenho da GPU


Para melhorar a utilização dos recursos, acompanhe as taxas de uso da GPU das suas instâncias. Ao conhecer as taxas de uso da GPU, é possível executar tarefas, como configurar grupos de instâncias gerenciadas, que podem ser usadas para escalonar automaticamente os recursos com base nas necessidades.

Para revisar as métricas da GPU usando o Cloud Monitoring, siga estas etapas:

  1. Em cada instância de VM, configure o script de relatório de métricas da GPU. Esse script executa as seguintes tarefas:

    • Instala o agente de relatório de métricas da GPU. Esse agente é executado em intervalos na instância para coletar dados da GPU e os enviar para o Cloud Monitoring.
    • Cria um campo de métricas custom/gpu_utilization no Cloud Monitoring. Esse campo armazena dados específicos da GPU que podem ser analisados no Cloud Monitoring.
  2. Veja os registros no Google Cloud Monitoring.

Como configurar o script de relatório de métricas da GPU

  1. Em cada uma das instâncias de VM, verifique se você atende aos seguintes requisitos:

  2. Em cada uma das instâncias de VM, instale o agente de métricas da GPU. Para instalar o agente de métricas, conclua as etapas a seguir:

    1. Faça o download dos scripts de geração de relatórios de métricas da GPU.

      git clone https://github.com/GoogleCloudPlatform/tensorflow-inference-tensorrt5-t4-gpu.git
    2. Alterne para a pasta metrics_reporting.

      cd tensorflow-inference-tensorrt5-t4-gpu/metrics_reporting
    3. Configure o ambiente de instalação para o agente de métricas.

      • Se você estiver usando o Python 2, execute o seguinte comando:

        pip install -r ./requirements.txt
      • Se você estiver usando o Python 3, execute o seguinte comando:

        pip3 install -r ./requirements.txt
    4. Mova o script de relatório de métricas para o diretório raiz.

      sudo cp report_gpu_metrics.py /root/
    5. Permita temporariamente o acesso ao diretório /lib/systemd/system/:

      sudo chmod 777 /lib/systemd/system/
    6. Ative o agente de métricas da GPU.

      • Se você estiver usando o Python 2, execute o seguinte comando:

        cat <<-EOH > /lib/systemd/system/gpu_utilization_agent.service
        [Unit]
        Description=GPU Utilization Metric Agent
        [Service]
        PIDFile=/run/gpu_agent.pid
        ExecStart=/bin/bash --login -c '/usr/bin/python /root/report_gpu_metrics.py'
        User=root
        Group=root
        WorkingDirectory=/
        Restart=always
        [Install]
        WantedBy=multi-user.target
        EOH
        
      • Se você estiver usando o Python 3, execute o seguinte comando:

        cat <<-EOH > /lib/systemd/system/gpu_utilization_agent.service
        [Unit]
        Description=GPU Utilization Metric Agent
        [Service]
        PIDFile=/run/gpu_agent.pid
        ExecStart=/bin/bash --login -c '/opt/conda/bin/python /root/report_gpu_metrics.py'
        User=root
        Group=root
        WorkingDirectory=/
        Restart=always
        [Install]
        WantedBy=multi-user.target
        EOH
        
    7. Redefina as permissões no diretório /lib/systemd/system. Execute este comando:

      sudo chmod 755 /lib/systemd/system/
    8. Atualize o daemon do sistema.

      sudo systemctl daemon-reload
    9. Ative o serviço de monitoramento de GPU.

      sudo systemctl --no-reload --now enable /lib/systemd/system/gpu_utilization_agent.service

Como revisar métricas no Cloud Monitoring

  1. No Console do Google Cloud, selecione Monitoring ou use este botão:

    Acessar Monitoring

    Na primeira vez que você acessar qualquer recurso do Monitoring para um projeto do Google Cloud, o projeto será associado a um espaço de trabalho. Se você nunca usou o Monitoring, um espaço de trabalho será criado automaticamente. Caso contrário, uma caixa de diálogo será exibida e você precisará escolher entre criar um espaço de trabalho e adicionar seu projeto a um espaço de trabalho existente.

  2. No painel de navegação do Monitoring, clique em Metrics Explorer.

  3. Verifique se a guia Métrica está selecionada:

    Exibir a guia de seleção de métricas.

  4. Pesquise gpu_utilization.

    Iniciação do Cloud Monitoring.

  5. Sua utilização de GPU será parecida com esta:

    Cloud Monitoring em execução.

  6. (Opcional) Configure o escalonamento automático usando grupos de instâncias gerenciadas. Para começar, consulte a seção Como configurar um cluster de várias zonas no tutorial de carga de trabalho de inferência do TensorFlow.

A seguir