En esta página, se muestra cómo resolver problemas de las VMs que se ejecutan en Compute Engine y que tienen GPU conectadas.
Si intentas crear una VM con GPU conectadas y recibes errores, revisa Soluciona errores de disponibilidad de recursos y Soluciona problemas de creación y actualización de VMs.
Soluciona problemas de VMs de GPU con NVIDIA DCGM
El administrador de GPU del centro de datos de NVIDIA (DCGM) es un conjunto de herramientas para administrar y supervisar las GPU del centro de datos de NVIDIA en entornos de clústeres.
Si deseas usar DCGM para solucionar problemas en tu entorno de GPU, completa los siguientes pasos:
- Asegúrate de usar el controlador NVIDIA más reciente recomendado para el modelo de GPU conectado a tu VM. Para revisar las versiones de controlador, consulta Versiones recomendadas de controladores NVIDIA.
- Asegúrate de haber instalado la versión más reciente de DCGM. Para instalar la última versión, consulta Instalación de DCGM.
Diagnosticar problemas
Cuando ejecutas un comando de diagnóstico dcgmi
, los problemas que informa la herramienta de diagnóstico incluyen los siguientes pasos para tomar medidas. En el siguiente ejemplo, se muestra el resultado práctico del comando dcgmi diag -r memory -j
.
{ ........ "category":"Hardware", "tests":[ { "name":"GPU Memory", "results":[ { "gpu_id":"0", "info":"GPU 0 Allocated 23376170169 bytes (98.3%)", "status":"Fail", ""warnings":[ { "warning":"Pending page retirements together with a DBE were detected on GPU 0. Drain the GPU and reset it or reboot the node to resolve this issue.", "error_id":83, "error_category":10, "error_severity":6 } ] } .........
En el fragmento de resultado anterior, puedes ver que GPU 0
tiene retiradas de páginas pendientes que se deben a un error no recuperable.
El resultado proporcionó el error_id
único y consejos para depurar el problema.
Para este resultado de ejemplo, se recomienda desviar la GPU y reiniciar la VM. En la mayoría de los casos, seguir las instrucciones de esta sección del resultado puede ayudar a resolver el problema.
Abre un caso de asistencia
Si no puedes resolver los problemas con la guía que proporciona el resultado de la ejecución de diagnóstico de dcgmi
, puedes abrir un caso de ayuda. Cuando abres un caso de ayuda, debes proporcionar la siguiente información:
- El comando que se ejecutó y el resultado que se mostró.
Archivos de registro relevantes, como motores de host y registros de diagnóstico. Para recopilar los archivos de registro necesarios, puedes ejecutar la secuencia de comandos
gather-dcgm-logs.sh
.Para una instalación predeterminada en sistemas basados en Debian y RPM, esta secuencia de comandos se encuentra en
/usr/local/dcgm/scripts
.Para los errores de
dcgmi diag
, proporciona los archivos de estadísticas de los complementos que fallaron. El archivo de estadísticas usa la siguiente convención de nombres:stats_PLUGIN_NAME.json
.Por ejemplo, si el complemento
pcie
falló, incluye el archivo llamadostats_pcie.json
.Información del sistema NVIDIA y estado del controlador. Para recopilar esta información, puedes ejecutar la secuencia de comandos
nvidia-bug-report.sh
.Ejecutar esta secuencia de comandos también ayuda a una depuración adicional si el problema se debe a otras dependencias de NVIDIA y no a un error en DCGM.
Detalles sobre los cambios recientes que se realizaron en el entorno antes de la falla.
Mensajes Xid
Después de crear una VM que tenga GPU conectadas, debes instalar los controladores del dispositivo NVIDIA en tus VMs con GPU para que tus aplicaciones puedan acceder a las GPU. Sin embargo, a veces estos controladores muestran mensajes de error.
Un mensaje Xid es un informe de error del controlador de NVIDIA que se imprime en el registro del kernel del sistema operativo o en el registro de acontecimientos de la VM de Linux. Estos mensajes se colocan en el archivo /var/log/messages
.
Para obtener más información sobre los mensajes Xid, incluidas las posibles causas, consulta la documentación de NVIDIA.
En la siguiente sección, se proporciona orientación sobre cómo manejar algunos mensajes Xid agrupados según los tipos más comunes: errores de memoria de GPU, errores de procesador del sistema de GPU (GSP) y errores de acceso no permitido a la memoria.
Errores de memoria de GPU
La memoria de GPU es la memoria disponible en una GPU que se puede usar para el almacenamiento temporal de datos. La memoria de GPU está protegida con el código de corrección de errores, ECC, que detecta y corrige errores de un solo bit (SBE) y detecta y también informa errores de doble bit (DBE).
Antes del lanzamiento de las GPU NVIDIA A100, se admitía la retiro dinámica de páginas. Para las versiones de GPU NVIDIA A100 y posteriores (como NVIDIA H100), se presenta la recuperación de error de reasignación de fila. ECC está habilitado de forma predeterminada. Google recomienda mantener habilitado el ECC.
Los siguientes son errores comunes de memoria de GPU y sus soluciones sugeridas.
Mensaje de error de Xid | Solución |
---|---|
Xid 48: Double Bit ECC |
|
Xid 63: ECC page retirement or row remapping recording
event |
|
Xid 64: ECC page retirement or row remapper recording
failure
Y el mensaje contiene la siguiente información: Xid 64: All reserved rows for bank are remapped
|
|
Si obtienes al menos dos de los siguientes mensajes Xid juntos:
Y el mensaje contiene la siguiente información: Xid XX: row remap pending
|
|
Xid 92: High single-bit ECC error rate |
Este mensaje Xid se muestra después de que el controlador de GPU corrige un error corregible y no debería afectar tus cargas de trabajo. Este mensaje Xid solo es informativo. No se requiere ninguna acción. |
Xid 94: Contained ECC error |
|
Xid 95: Uncontained ECC error |
|
Errores del GSP
Un procesador del sistema de GPU (GSP) es un microcontrolador que se ejecuta en GPU y controla algunas de las funciones de administración de hardware de bajo nivel.
Mensaje de error de Xid | Solución |
---|---|
Xid 119: GSP RPC timeout |
|
Xid 120: GSP error |
Errores de acceso no permitido a la memoria
Los siguientes Xids se muestran cuando las aplicaciones tienen problemas de acceso no permitido a la memoria:
Xid 13: Graphics Engine Exception
Xid 31: GPU memory page fault
Los errores de acceso no permitido a la memoria suelen deberse a las cargas de trabajo que intentan acceder a la memoria que ya está liberada o está fuera de los límites. Esto puede deberse a problemas como la desreferencia de un puntero no válido o un arreglo de límites salientes.
Para resolver este problema, debes depurar tu aplicación. Para depurar tu aplicación, puedes usar cuda-memcheck y CUDA-GDB.
En algunos casos muy raros, la degradación de hardware puede provocar errores de acceso no permitido a la memoria. Para identificar si el problema es con tu hardware, usa el administrador de GPU del centro de datos de NVIDIA (DCGM).
Puedes ejecutar dcgmi diag -r 3
o dcgmi diag -r 4
para ejecutar diferentes niveles de cobertura y duración de la prueba. Si identificas que el problema está relacionado con el hardware, presenta un caso a Atención al cliente de Cloud.
Otros mensajes de error comunes de Xid
Mensaje de error de Xid | Solución |
---|---|
Xid 74: NVLINK error |
|
Xid 79: GPU has fallen off the bus
Esto significa que el controlador no puede comunicarse con la GPU. |
Reinicia la VM. |
Restablece las GPU
Algunos problemas pueden requerir que restablezcas tus GPU. Para restablecer las GPU, completa los siguientes pasos:
- Para las VMs N1, G2 y A2, ejecuta
sudo reboot
para reiniciar la VM. - Para las VMs A3, ejecuta
sudo nvidia-smi --gpu-reset
.- En la mayoría de las VMs de Linux, el ejecutable
nvidia-smi
se encuentra en el directorio/var/lib/nvidia/bin
. - Para los nodos de GKE, el ejecutable
nvidia-smi
se encuentra en el directorio/home/kubernetes/bin/nvidia
.
- En la mayoría de las VMs de Linux, el ejecutable
Si los errores persisten después de restablecer la GPU, debes borrar y volver a crear la VM.
Si el error persiste después de una eliminación y una recreación, presenta un caso a Atención al cliente de Cloud para pasar la VM a la etapa de reparación.
¿Qué sigue?
Revisa los tipos de máquinas de GPU.