Supervisa el rendimiento de las GPU en las VM de Windows


Para ayudar a usar mejor los recursos, puedes realizar un seguimiento de las tasas de uso de GPU de las instancias de máquina virtual (VM).

Cuando conoces las tasas de uso de GPU, puedes realizar tareas como configurar grupos de instancias administrados que se pueden usar para aplicar el ajuste de escala automático a los recursos.

Para revisar las métricas de GPU mediante Cloud Monitoring, sigue los pasos a continuación:

  1. En cada VM, configura la secuencia de comandos de informes de métricas de GPU. Esta secuencia de comandos 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 enviarlos a Cloud Monitoring.
  2. En cada VM, ejecuta la secuencia de comandos.
  3. En cada VM, configura el agente de informes de métricas de GPU para que se inicie de forma automática en el arranque.
  4. Visualiza registros en Cloud Monitoring de Google Cloud

Roles obligatorios

Para supervisar el rendimiento de las GPU en las VMs de Windows, debes otorgar los roles de Identity and Access Management (IAM) necesarios a los siguientes principios:

Para garantizar que tú y la cuenta de servicio de la VM tengan los permisos necesarios para supervisar el rendimiento de la GPU en las VMs de Windows, pídele a tu administrador que te otorgue a ti y a la cuenta de servicio de la VM los siguientes roles de IAM en el proyecto:

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

Es posible que tu administrador también pueda otorgarte a ti y a la cuenta de servicio de la VM los permisos necesarios mediante roles personalizados o con otros roles predefinidos.

Configura la secuencia de comandos de informes de métricas de GPU

Requisitos

En cada una de tus VM, verifica que se satisfagan los siguientes requisitos:

Descarga la secuencia de comandos

Abre una terminal de PowerShell como administrador y usa el comando Invoke-WebRequest para descargar la secuencia de comandos.

Invoke-WebRequest está disponible en PowerShell 3.0 o posterior. Google Cloud recomienda que uses 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

Ejecuta la secuencia de comandos:

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

Configura el agente para que se inicie de forma automática en el arranque

A fin de asegurarte de que el agente de informes de métricas de GPU esté configurado para ejecutarse en el arranque del sistema, usa el siguiente comando a fin de 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

Revisa las métricas en Cloud Monitoring

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

    Ir a Monitoring

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

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

  4. En el menú Categoría de métrica, selecciona Personalizado.

  5. En el menú Métrica, selecciona la métrica que deseas representar. Por ejemplo custom/instance/gpu/utilization.

  6. Haz clic en Aplicar.

    El uso de GPU debe parecerse al siguiente resultado:

    Inicio de Cloud Monitoring.

Métricas disponibles

Nombre de la métrica Descripción

instance/gpu/utilization

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

instance/gpu/memory_utilization

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

instance/gpu/memory_total

Memoria total de GPU instalada.

instance/gpu/memory_used

Memoria total asignada por contextos activos.

instance/gpu/memory_used_percent

El porcentaje de la memoria total asignada por contextos activos. Va de 0 a 100.

instance/gpu/memory_free

Memoria libre total.

instance/gpu/temperature

Temperatura de la GPU principal en Celsius (°C)

Próximos pasos