¡Pregunte, nosotros le respondemos!

CUDA® en WSL

La utilización de la contenerización de aplicaciones se ha convertido en un enfoque preferido para la gestión de cargas de trabajo. Aunque las aplicaciones típicas son sencillas de empaquetar y operar, las aplicaciones que utilizan GPUs requieren una consideración especial debido a la capa de abstracción adicional: WSL (Subsistema de Windows para Linux). Microsoft ha diseñado a medida este kernel de Linux para integrarse estrechamente con el servidor de Windows, asegurando una operación fluida de las aplicaciones en ambos sistemas.

Una pregunta común es la secuencia correcta para instalar los controladores y bibliotecas necesarios que habiliten las características de cálculo de la GPU. Para ahorrar su tiempo y facilitar este proceso, hemos preparado esta guía paso a paso.

La secuencia apropiada es instalar WSL y Linux dentro del WSL. A continuación, instale los controladores de GPU para Windows Server y el NVIDIA® CUDA® Toolkit en Linux. Si se desea, se puede añadir Docker Desktop posteriormente para ejecutar cualquier contenedor habilitado para GPU.

Antes de continuar, asegúrese de que todas las actualizaciones necesarias están instaladas en su sistema.

Instalar WSL y Ubuntu

Para comenzar, seleccione Inicio > PowerShell y ejecútelo con privilegios de administrador. El siguiente comando habilita WSL:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Una vez finalizado el proceso de instalación, debe reiniciar el sistema operativo como de costumbre y reabrir PowerShell. Actualicemos el kernel de WSL:

wsl --update

Y instale la distribución de Linux necesaria, por ejemplo, Ubuntu 22.04 LTS:

wsl --install -d Ubuntu-22.04

La nueva aplicación Ubuntu 22.04 estará visible en el menú Inicio. Al hacer clic en ella, el sistema proporcionará una ventana de terminal que ejecuta una instancia de Linux Ubuntu. Es necesario actualizar la caché y actualizar todos los paquetes disponibles a las versiones más recientes:

sudo apt update && sudo apt -y upgrade

El siguiente paso es instalar el administrador de paquetes de Python y NVIDIA® CUDA® Toolkit. Es importante recordar que no es necesario instalar los controladores de GPU en este núcleo de Linux:

sudo apt -y install python3-pip nvidia-cuda-toolkit

Para garantizar el correcto funcionamiento de todos los scripts incluidos en el NVIDIA® CUDA® Toolkit, es necesario predefinir su ruta en la variable $PATH. Puede lograr esto abriendo el siguiente archivo:

nano ~/.bashrc

Y añadir la siguiente cadena al final:

export PATH=/home/usergpu/.local/bin${PATH:+:${PATH}}

Guarde el archivo y salga de la terminal de Ubuntu.

Instalar los controladores de NVIDIA®

Por favor, siga nuestras instrucciones en este artículo: Instalar los controladores de NVIDIA® en Windows. El resultado aparecerá de la siguiente manera:

Administrador de dispositivos

Instalar PyTorch

Abra la terminal de Ubuntu 22.04 y escriba el siguiente comando para instalar PyTorch con soporte para CUDA:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

Prueba en Python

Ingrese a la consola interactiva de Python:

python3
Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

Y escriba estos comandos secuencialmente:

import torch
torch.cuda.device_count()
5
torch.cuda.is_available()
True

El primer comando importará el marco de trabajo PyTorch. El segundo comando mostrará el número de dispositivos compatibles con CUDA® en un sistema. El tercer comando indica la disponibilidad de usar CUDA®.

Prueba en Docker

Comience instalando Docker Desktop. El instalador se puede encontrar aquí. Reinicie el servidor y ejecute Docker Desktop. Esta acción inicia el motor Docker. Luego abra la consola Ubuntu 22.04 desde el menú Inicio y escriba el siguiente comando:

docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark -numdevices=5

donde -numdevices es el número de GPUs instaladas. Para este ejemplo probamos en un servidor dedicado con 5 GPUs.

Si obtiene un error “Error: solo 0 dispositivos disponibles, 5 solicitados. Saliendo.” mantenga la calma. Este es un error de NVIDIA® y puede solucionarlo fácilmente volviendo a habilitar cada GPU en el Administrador de dispositivos. Haga clic derecho en el menú Inicio y seleccione Administrador de dispositivos. Expanda la lista de Adaptadores de pantalla, seleccione cada GPU y desactívela desde el menú Acción. Después de eso, Habilite cada GPU de la misma manera. Ahora este comando funcionará perfectamente:

Ejecutar un ejemplo en WSL

Conclusión

Este método le permite lanzar casi cualquier aplicación, aunque puede haber algunas limitaciones basadas en las especificaciones del sistema. A pesar de estas limitaciones, la implementación suele ser fluida y usted puede disfrutar de todas las ventajas que ofrece Linux, pero dentro de un entorno de servidor de Windows.

Vea también:



Actualizado: 28.03.2025

Publicado: 28.06.2024


?Tiene más preguntas? ?Escribanos!

By clicking «I Accept» you confirm that you have read and accepted the website Terms and Conditions, Privacy Policy, and Moneyback Policy.