¡Bienvenido a Microsoft Q&A!
Gracias por proporcionar una descripción tan detallada del problema y de los pasos de solución de problemas que ya ha realizado.
Según la información que ha compartido, los errores dxgkio_query_adapter_info: Ioctl failed: -22 se producen durante la inicialización del controlador dxgkrnl de WSL, antes de que se carguen ROCm o PyTorch. Como resultado, el posterior mensaje hsa_init Failed de rocminfo y que torch.cuda.is_available devuelva False parecen ser síntomas posteriores y no la causa principal.
Dado que el error se produce durante la enumeración del adaptador /dev/dxg, es poco probable que reinstalar ROCm dentro de Ubuntu resuelva el problema por sí solo.
Una consideración importante es que la AMD Radeon RX 7600 no aparece actualmente en la matriz de compatibilidad ROCm sobre WSL publicada por AMD. AMD valida combinaciones específicas de GPU compatibles, controladores Radeon Software para WSL, versiones de ROCm, versiones de Ubuntu, kernels de WSL y versiones de frameworks. Debido a que la RX 7600 no está incluida actualmente en esa matriz de compatibilidad, resulta difícil determinar si este comportamiento representa una regresión de WSL, un problema del controlador o una limitación de compatibilidad de la plataforma.
Para ayudar a aislar aún más el problema, recomendaría lo siguiente:
- Verifique que Windows siga detectando correctamente la RX 7600 en Administrador de dispositivos y dxdiag, y que esté cargado el controlador de AMD en lugar del Adaptador de pantalla básico de Microsoft.
- Dentro de WSL, verifique que la interfaz de la GPU esté disponible:
ls -l /dev/dxg
Si /dev/dxg no existe, o si los errores dxgkio_query_adapter_info aparecen inmediatamente durante el inicio, el enfoque debería centrarse en el controlador de pantalla de Windows y la capa de virtualización de GPU de WSL, en lugar de en la propia instalación de ROCm.
- Realice una prueba con una configuración ROCm sobre WSL compatible con AMD utilizando exactamente el paquete Radeon Software para-WSL y las versiones de software documentadas por AMD.
- Si es posible, intente reproducir el comportamiento en hardware que aparezca explícitamente en la matriz de compatibilidad ROCm sobre WSL de AMD. Esto puede ayudar a determinar si el problema está relacionado con el modelo actual de GPU o con la pila de virtualización de GPU de WSL.
- Continúe adjuntando el paquete de diagnósticos y las trazas ETL a su incidencia de GitHub. Además de los registros existentes, considere incluir:
-
wsl --version -
wsl --status -
winver - dxdiag /t dxdiag.txt
- Get-CimInstance Win32_VideoController
- Get-PnpDevice -Class Display
-
dmesg | grep -iE "dxg|drm|hsa" - La última versión conocida funcional del controlador AMD, la versión de WSL y la versión de ROCm
- Si deshabilitar y volver a habilitar el adaptador de pantalla o reinstalar el controlador AMD restaura temporalmente /dev/dxg
Dado que el comportamiento persiste en múltiples versiones de WSL, versiones del kernel e incluso tras una reinstalación limpia de WSL, no parece estar causado por una distribución Ubuntu dañada. En esta etapa, es razonable seguir investigándolo como un posible problema de interoperabilidad entre el controlador de pantalla de Windows y DXG en WSL. Sin embargo, dado que la RX 7600 se encuentra actualmente fuera de la matriz de compatibilidad ROCm sobre WSL documentada por AMD, todavía no hay evidencia suficiente para concluir que se trate de una regresión confirmada del producto WSL.
Como solución alternativa práctica, puede probar con una combinación de GPU y software que figure en la matriz de compatibilidad ROCm sobre WSL de AMD, ejecutar ROCm en una instalación nativa de Linux o evaluar DirectML en WSL si satisface los requisitos de su carga de trabajo.
Referencias: Habilitación de PyTorch con DirectML en WSL | Microsoft Learn
Ejecución de aplicaciones de GUI de Linux con WSL | Microsoft Learn
DirectX 12 para subsistemas de Windows | Microsoft Support
Si esta información le resulta útil, haga clic en Aceptar respuesta.
Gracias por elegir Microsoft Q&A.
Nota: Esta respuesta ha sido traducida mediante una herramienta de traducción. Tenga en cuenta que puede contener errores gramaticales o semánticos. Gracias por su comprensión.