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:
- 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.
- En cada VM, ejecuta la secuencia de comandos.
- En cada VM, configura el agente de informes de métricas de GPU para que se inicie de forma automática en el arranque.
- 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:
- La cuenta de servicio que usa la instancia de VM
- Tu cuenta de usuario
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:
-
Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Escritor de métricas de Monitoring (
roles/monitoring.metricWriter
)
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:
- Cada VM debe tener GPU adjuntas.
- Cada instancia de VM debe tener un controlador de GPU instalado.
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
En la consola de Google Cloud, ve a la página Explorador de métricas.
Expande el menú Seleccionar una métrica.
En el menú Recurso, selecciona Instancia de VM.
En el menú Categoría de métrica, selecciona Personalizado.
En el menú Métrica, selecciona la métrica que deseas representar. Por ejemplo
custom/instance/gpu/utilization
.Haz clic en Aplicar.
El uso de GPU debe parecerse al siguiente resultado:
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
- Para controlar el mantenimiento del host de la GPU, consulta la página sobre cómo controlar eventos de mantenimiento del host de la GPU.
- Para mejorar el rendimiento de la red, consulta Usa un ancho de banda de red mayor.