Como monitorar o desempenho da GPU em VMs do Windows


Para melhorar a utilização dos recursos, acompanhe as taxas de uso da GPU das instâncias de máquina virtual (VM).

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.

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

  1. Em cada VM, configure o script de relatório de métricas da GPU. Esse script 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.
  2. Em cada VM, execute o script.
  3. Em cada VM, defina o agente de relatório de métricas da GPU para iniciar automaticamente na inicialização.
  4. Veja os registros no Google Cloud Monitoring.

Funções exigidas

Para monitorar o desempenho da GPU em VMs do Windows, é necessário conceder os papéis necessários do Identity and Access Management (IAM) aos seguintes princípios:

Para garantir que você e a conta de serviço da VM tenham as permissões necessárias para monitorar o desempenho da GPU em VMs do Windows, peça ao administrador para conceder a você e à conta de serviço da VM os seguintes papéis do IAM no projeto:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

O administrador também pode conceder a você e à conta de serviço da VM as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

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

Requisitos

Em cada uma das VMs, verifique se você atende aos requisitos a seguir:

Faça o download do script

Abra um terminal do PowerShell como administrador e use o comando Invoke-WebRequest para fazer o download do script.

Invoke-WebRequest está disponível no PowerShell 3.0 ou posterior. O Google Cloud recomenda o uso de ctrl+v para colar os blocos de código copiados.

mkdir c:\google-scripts
cd c:\google-scripts
Invoke-Webrequest -uri https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-monitoring/main/windows/gce-gpu-monitoring-cuda.ps1 -outfile gce-gpu-monitoring-cuda.ps1

Executar o script

cd c:\google-scripts
.\gce-gpu-monitoring-cuda.ps1

Configurar o agente para iniciar automaticamente na inicialização

Para garantir que o agente do agente de relatórios de métricas da GPU esteja configurado para execução na inicialização do sistema, use o comando a seguir para adicionar o agente ao Programador de tarefas do Windows.

$Trigger= New-ScheduledTaskTrigger -AtStartup
$Trigger.ExecutionTimeLimit = "PT0S"
$User= "NT AUTHORITY\SYSTEM"
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "C:\google-scripts\gce-gpu-monitoring-cuda.ps1"
$settingsSet = New-ScheduledTaskSettingsSet
# Set the Execution Time Limit to unlimited on all versions of Windows Server
$settingsSet.ExecutionTimeLimit = 'PT0S'
Register-ScheduledTask -TaskName "MonitoringGPUs" -Trigger $Trigger -User $User -Action $Action -Force -Settings $settingsSet

Analisar métricas no Cloud Monitoring

  1. No Console do Google Cloud, acesse a página do Metrics Explorer.

    Acessar Monitoring

  2. Abra o menu Selecionar uma métrica.

  3. No menu Recurso, selecione Instância de VM.

  4. No menu Categoria da métrica, selecione Personalizada.

  5. No menu Métrica, selecione a métrica que deve aparecer no gráfico. Por exemplo: custom/instance/gpu/utilization.

  6. Clique em Aplicar.

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

    Iniciação do Cloud Monitoring.

Métricas disponíveis

Nome da métrica Descrição

instance/gpu/utilization

Percentual de tempo durante o período de amostragem anterior em que um ou mais kernels estavam sendo executados na GPU.

instance/gpu/memory_utilization

Percentual de tempo durante o período de amostragem anterior em que a memória global (dispositivo) estava sendo lida ou gravada.

instance/gpu/memory_total

Memória total da GPU instalada.

instance/gpu/memory_used

Memória total alocada por contextos ativos.

instance/gpu/memory_used_percent

Porcentagem da memória total alocada por contextos ativos. Varia de 0 a 100.

instance/gpu/memory_free

Memória livre total.

instance/gpu/temperature

Temperatura da GPU principal em graus Celsius (°C).

A seguir