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:
- 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.
- Em cada VM, execute o script .
- Em cada VM, defina o agente de relatórios de métricas de GPU para iniciar automaticamente na inicialização .
- 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:
- A conta de serviço usada pela instância de VM
- Sua conta de usuário
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:
- Administrador de instância do Compute (v1) (
roles/compute.instanceAdmin.v1
) - Gravador de métricas de monitoramento (
roles/monitoring.metricWriter
)
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:
- Cada VM deve ter GPUs anexadas .
- Cada VM deve ter um driver de GPU instalado .
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
No console do Google Cloud, acesse a página do Metrics Explorer .
Expanda o menu Selecionar uma métrica .
No menu Recursos , selecione Instância de VM .
No menu da categoria Métrica , selecione Personalizado .
No menu Métrica , selecione a métrica a ser traçada. Por exemplo
custom/instance/gpu/utilization
.Clique em Aplicar .
A utilização da GPU deve ser semelhante à seguinte saída:
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?
- Para lidar com a manutenção do host GPU, consulte Tratamento de eventos de manutenção do host GPU .
- Para melhorar o desempenho da rede, consulte Usar largura de banda de rede maior .