Monitorando o desempenho da GPU em VMs do Windows


Para ajudar na melhor utilização dos recursos, você pode acompanhar as taxas de uso de GPU de suas instâncias de máquina virtual (VM).

Ao conhecer as taxas de uso da GPU, você poderá executar tarefas como configurar grupos de instâncias gerenciadas que podem ser usados ​​para escalonar recursos automaticamente.

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

  1. Em cada VM, configure o script de relatório de métricas de GPU . Este script instala o agente de relatórios de métricas de GPU. Esse agente é executado em intervalos na VM para coletar dados de GPU e envia esses dados para o Cloud Monitoring.
  2. Em cada VM, execute o script .
  3. Em cada VM, defina o agente de relatórios de métricas de GPU para iniciar automaticamente na inicialização .
  4. Ver registros em Google Cloud Monitoramento de nuvem .

Funções obrigatórias

Para monitorizar o desempenho da GPU em VMs Windows, é necessário conceder as funções necessárias de Gestão de Identidade e Acesso (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 obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .

Seu administrador também poderá conceder a você e à conta de serviço da VM as permissões necessárias por meio de funções personalizadas ou outras funções predefinidas .

Configure o script de relatório de métricas de GPU

Requisitos

Em cada uma das suas VMs, verifique se você atende aos seguintes requisitos:

Baixe o roteiro

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

Invoke-WebRequest está disponível no PowerShell 3.0 ou posterior.Google Cloud recomenda que você use 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

Execute o script

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

Configure o agente para iniciar automaticamente na inicialização

Para garantir que o agente do agente de relatório de métricas de GPU esteja configurado para ser executado na inicialização do sistema, use o comando a seguir para adicionar o agente ao Agendador 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

Revise as métricas no Cloud Monitoring

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

    Vá para Monitoramento

  2. Expanda o menu Selecionar uma métrica .

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

  4. No menu da categoria Métrica , selecione Personalizado .

  5. No menu Métrica , selecione a métrica a ser traçada. Por exemplo custom/instance/gpu/utilization .

  6. Clique em Aplicar .

    A utilização da GPU deve ser semelhante à seguinte saída:

    Iniciação do Cloud Monitoring.

Métricas disponíveis

Nome da métrica Descrição

instância/gpu/utilização

Porcentagem de tempo durante o período de amostra anterior durante o qual um ou mais kernels estavam em execução na GPU.

instância/gpu/memory_utilization

Porcentagem de tempo durante o período de amostra anterior durante o qual a memória global (do dispositivo) estava sendo lida ou gravada.

instância/gpu/memory_total

Memória GPU total instalada.

instância/gpu/memory_used

Memória total alocada por contextos ativos.

instância/gpu/memory_used_percent

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

instância/gpu/memory_free

Memória total livre.

instância/gpu/temperatura

Temperatura central da GPU em Celsius (°C).

O que vem a seguir?