Monitoreo del rendimiento de la GPU en máquinas virtuales Windows


Para ayudar con una mejor utilización de los recursos, puede realizar un seguimiento de las tasas de uso de GPU de sus instancias de máquina virtual (VM).

Cuando conoce las tasas de uso de GPU, puede realizar tareas como configurar grupos de instancias administrados que se pueden usar para escalar automáticamente los recursos.

Para revisar las métricas de GPU mediante Cloud Monitoring , complete los siguientes pasos:

  1. En cada VM, configure el script de informes de métricas de GPU . Este script instala el agente de informes de métricas de GPU. Este agente se ejecuta a intervalos en la VM para recopilar datos de GPU y envía estos datos a Cloud Monitoring.
  2. En cada VM, ejecute el script .
  3. En cada máquina virtual, configure el agente de informes de métricas de GPU para que se inicie automáticamente al arrancar .
  4. Ver registros en Google Cloud Monitoreo de la nube .

Roles requeridos

Para monitorear el rendimiento de la GPU en máquinas virtuales Windows, debe otorgar los roles de administración de identidad y acceso (IAM) necesarios según los siguientes principios:

Para asegurarse de que usted y la cuenta de servicio de la VM tengan los permisos necesarios para monitorear el rendimiento de la GPU en las VM de Windows, solicite a su administrador que les otorgue a usted y a la cuenta de servicio de la VM las siguientes funciones de IAM en el proyecto:

Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .

Es posible que su administrador también pueda brindarle a usted y a la cuenta de servicio de la máquina virtual los permisos necesarios a través de roles personalizados u otros roles predefinidos .

Configurar el script de informes de métricas de GPU

Requisitos

En cada una de sus máquinas virtuales, verifique que cumpla con los siguientes requisitos:

Descarga el guión

Abra una terminal de PowerShell como administrador y use el comando Invoke-WebRequest para descargar el script.

Invoke-WebRequest está disponible en PowerShell 3.0 o posterior.Google Cloud recomienda utilizar ctrl+v para pegar los bloques 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

Ejecute el script

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

Configure el agente para que se inicie automáticamente al arrancar

Para asegurarse de que el agente de informes de métricas de GPU esté configurado para ejecutarse al iniciar el sistema, utilice el siguiente comando para agregar el agente al Programador de tareas de 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

Revisar métricas en Cloud Monitoring

  1. En la consola de Google Cloud, vaya a la página Explorador de métricas .

    Ir a Monitoreo

  2. Expanda el menú Seleccionar una métrica .

  3. En el menú Recurso , seleccione Instancia de VM .

  4. En el menú de categoría Métrica , seleccione Personalizado .

  5. En el menú Métrica , seleccione la métrica para graficar. Por ejemplo custom/instance/gpu/utilization .

  6. Haga clic en Aplicar .

    La utilización de su GPU debería parecerse al siguiente resultado:

    Iniciación de Monitoreo de Nube.

Métricas disponibles

Nombre de la métrica Descripción

instancia/gpu/utilización

Porcentaje de tiempo durante el último período de muestra durante el cual uno o más núcleos se ejecutaron en la GPU.

instancia/gpu/memoria_utilización

Porcentaje de tiempo durante el último período de muestra durante el cual se leyó o escribió la memoria global (del dispositivo).

instancia/gpu/memoria_total

Memoria GPU total instalada.

instancia/gpu/memoria_usada

Memoria total asignada por contextos activos.

instancia/gpu/memoria_used_percent

Porcentaje de memoria total asignada por contextos activos. Varía de 0 a 100.

instancia/gpu/memoria_libre

Memoria libre total.

instancia/gpu/temperatura

Temperatura central de la GPU en grados Celsius (°C).

¿Qué sigue?