- CUDA permite acelerar IA y computación científica en GPU NVIDIA con bibliotecas y herramientas optimizadas.
- WSL2 en Windows 11/10 (21H2+) soporta CUDA con drivers adecuados y Docker con GPU.
- En Linux, alinea versión de driver NVIDIA y Toolkit (p. ej., 560 + CUDA 12.6) y configura PATH/LD_LIBRARY_PATH.
- Valida con PyTorch y contenedores; Miniconda y ajustes como swap mejoran estabilidad y flujo.
Si trabajas con IA, ciencia de datos o simulaciones, instalar CUDA de NVIDIA es uno de esos pasos que marca la diferencia. La aceleración por GPU multiplica el rendimiento y hoy te explico, con detalle y sin rodeos, cómo montarlo tanto en Windows (incluido WSL) como en Linux nativo.
Verás desde requisitos y comprobaciones previas hasta la instalación de controladores, el Toolkit de CUDA, pruebas con PyTorch y Docker, y un extra con Miniconda, swap y ajustes para servidores. La guía reúne las mejores prácticas y corrige tropiezos habituales para que no pierdas tiempo en lo obvio.
Qué es CUDA y por qué te interesa

CUDA es el ecosistema de NVIDIA para computación paralela que permite usar la GPU para mucho más que gráficos. Incluye compilador, bibliotecas y herramientas que aceleran cargas de trabajo como el aprendizaje profundo, el análisis científico o las simulaciones.
Versiones como 11.8 o 12.6 llegan con mejoras de rendimiento, soporte de hardware reciente, gestión de memoria afinada y una integración muy pulida con marcos como TensorFlow y PyTorch. El resultado: más velocidad y estabilidad en proyectos exigentes.
Además de las bibliotecas de alto nivel, el runtime de CUDA orquesta la ejecución de kernels, gestiona memoria en la GPU y facilita que tus aplicaciones escalen usando miles de núcleos en paralelo. Para cargas modernas de IA es, literalmente, la base.
Si desarrollas en Windows, una ventaja clave es que WSL2 permite usar CUDA dentro de distribuciones Linux como Ubuntu o Debian, de forma casi nativa, con soporte de Docker y NVIDIA Container Toolkit. Es una opción muy potente para entornos mixtos.
Requisitos y compatibilidad

Antes de instalar nada, asegúrate de que tu hardware y tu sistema cumplen lo necesario. Necesitas una GPU NVIDIA con Compute Capability 3.0 o superior para CUDA 11.8 y soporte moderno para versiones más recientes como 12.6.
En Linux puedes verificar la presencia de la GPU con: lspci | grep -i nvidia. Si quieres identificar el controlador recomendado en Ubuntu, prueba: ubuntu-drivers devices. En Windows, echa un vistazo al Administrador de dispositivos en ‘Adaptadores de pantalla’.
En cuanto a sistemas, CUDA 11.8 ha sido ampliamente utilizada en Windows 10/11 de 64 bits y distribuciones como Ubuntu 18.04 y 20.04, además de RHEL/CentOS 7/8. Para WSL, Windows 11 y Windows 10 versión 21H2 o posterior admiten GPU compute con CUDA dentro del subsistema Linux.
En el caso de WSL2, asegúrate de tener el kernel actualizado. Se requiere 5.10.43.3 o posterior. Puedes comprobar la versión desde PowerShell con: wsl cat /proc/version. Además, mantén Windows Update al día (Configuración > Windows Update > Buscar actualizaciones).
Sobre memoria, para tareas de entrenamiento conviene contar con al menos 8 GB de RAM en el sistema y 4 GB de VRAM en la GPU, aunque muchos modelos agradecerán bastante más. Un CPU x86_64 y un compilador C++ moderno (C++14 o superior) completan la lista.
Instalación en Windows 11/10 con WSL2
La secuencia correcta evita dolores de cabeza: primero habilita WSL e instala Linux, después los controladores de NVIDIA para Windows, y dentro de WSL el Toolkit de CUDA más tus librerías de IA. Opcionalmente, añade Docker Desktop al final.
1) Habilitar WSL desde PowerShell con permisos de administrador: activa la característica y reinicia cuando lo pida.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
2) Actualiza el kernel de WSL a la última versión posible desde PowerShell: wsl –update. Después instala tu distribución favorita (por ejemplo, Ubuntu 22.04 LTS):
wsl --install -d Ubuntu-22.04
3) Abre la aplicación Ubuntu recién instalada, actualiza índices y paquetes, e instala utilidades básicas. Mantener el sistema al día reduce fallos posteriores.
sudo apt update && sudo apt -y upgrade
4) Dentro de Ubuntu (WSL), instala Python pip y el Toolkit de CUDA desde los repos oficiales. En WSL no se instalan drivers de GPU en el kernel Linux, esos van en Windows.
sudo apt -y install python3-pip nvidia-cuda-toolkit
5) Añade la ruta de los scripts de usuario al PATH para evitar problemas al ejecutar herramientas instaladas con pip. Esto agiliza el uso de utilidades sin rutas absolutas.
nano ~/.bashrc
# Al final añade, adaptando 'usergpu' a tu usuario
export PATH=/home/usergpu/.local/bin${PATH:+:${PATH}}
# Guarda (Ctrl+O), sal (Ctrl+X) y recarga
source ~/.bashrc
6) Instala el controlador de NVIDIA para WSL en Windows. Descarga el driver habilitado para CUDA desde la web de NVIDIA/Microsoft (controlador para GPU compute en WSL). Tras instalar, reinicia Windows si es necesario.
7) Comprueba versión de kernel en WSL y que todo responde: wsl cat /proc/version. Si estás en 5.10.43.3 o posterior, perfecto. Mantén Windows Update al día para recibir mejoras de WSL2.
8) Instala PyTorch con soporte CUDA dentro de Ubuntu (WSL). El índice cu118 es una opción estable muy usada. Así aprovechas la GPU en tus notebooks o scripts.
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
9) Prueba rápida en Python: carga PyTorch y verifica si CUDA está disponible y cuántas GPUs detecta. Esto confirma que el stack funciona.
python3
>>> import torch
>>> torch.cuda.device_count()
# Ejemplo de salida: 1 (o más, según tu equipo)
>>> torch.cuda.is_available()
# Esperado: True
10) Docker con GPU en WSL: instala Docker Desktop en Windows, actívalo y ejecuta pruebas desde Ubuntu WSL. NVIDIA Container Toolkit está soportado en WSL para escenarios tipo Linux.
docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody \
nbody -gpu -benchmark -numdevices=1
Si ves el error ‘solo 0 dispositivos disponibles’ con varias GPUs, un remedio conocido es deshabilitar y volver a habilitar cada GPU en el Administrador de dispositivos de Windows (Adaptadores de pantalla > Acción > Deshabilitar y luego Habilitar). Después, repite la prueba.
Instalación nativa en Linux (Ubuntu/Mint y derivadas)
En Linux nativo, la ruta recomendada es: instalar el driver oficial de NVIDIA, luego el Toolkit de CUDA y por último configurar variables de entorno. En versiones recientes, la rama 560 del controlador y CUDA 12.6 funcionan muy bien.
1) Añade el PPA de controladores gráficos (Ubuntu) y instala el driver 560. Reinicia para que el kernel cargue el módulo actualizado.
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install -y nvidia-driver-560
# Reinicia el equipo
2) Verifica con nvidia-smi que el controlador está operativo. Debe mostrar versión, GPU y memoria antes de seguir con CUDA.
nvidia-smi
3) Instala dependencias de compilación y descarga el instalador de CUDA 12.6 (ejemplo con runfile). En el asistente, desmarca la casilla de drivers si ya instalaste el 560 para evitar conflictos.
sudo apt install -y build-essential
wget https://developer.download.nvidia.com/compute/cuda/12.6.3/local_installers/cuda_12.6.3_560.35.05_linux.run
sudo sh cuda_12.6.3_560.35.05_linux.run
4) Exporta PATH y LD_LIBRARY_PATH a la versión instalada, y recarga el perfil. Esto asegura que nvcc y las libs estén disponibles en la sesión.
nano ~/.bashrc
# Añade al final (ajusta si tu ruta difiere)
export PATH=/usr/local/cuda-12.6/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# Guarda y recarga
source ~/.bashrc
5) Comprueba versión del compilador de CUDA. Si ‘nvcc –version’ responde correctamente, la instalación está lista para producción. Sin este paso, muchas builds fallarán.
nvcc --version
Notas adicionales para otras versiones: si instalas CUDA 11.8 con runfile, el proceso es similar y la ruta suele quedar en /usr/local/cuda-11.X. En todo caso, revisa la matriz de compatibilidad de drivers para emparejar bien versión de CUDA y controlador.
Miniconda, PyTorch y ecosistema
Gestionar entornos con Miniconda es comodísimo: aísla dependencias, simplifica builds y permite alternar entre versiones de Python. Ideal para IA y flujos de trabajo con múltiples proyectos.
Instala Miniconda en Linux con estos pasos, acepta la licencia y reinicia la terminal al terminar. Tras ello, verás el entorno base activo.
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash ./Miniconda3-latest-Linux-x86_64.sh
# Enter > Avanzar > yes > enter > yes
Para algunos paquetes gráficos puede necesitarse python3-tk en sistemas Ubuntu/Mint. También es útil tener git a mano.
sudo apt update -y && sudo apt install -y python3-tk git
Con el entorno listo, instala PyTorch con CUDA estable (cu118) o incluso nightly si buscas lo último en rendimiento (por ejemplo, cu124). Elige según tus necesidades de estabilidad vs. novedades.
# Estable (ejemplo cu118)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# Nightly (ejemplo cu124)
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu124
Si vas a trabajar con pipelines creativos como ComfyUI, puedes clonar su repo y lanzar la app. Para acceder desde otro equipo de la red, usa el flag –listen 0.0.0.0. Es muy práctico en servidores headless.
git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI
pip install -r requirements.txt
python main.py --listen 0.0.0.0
Pruebas y validación (PyTorch y Docker)
Validar tu instalación te ahorra sorpresas después. En Python, verifica que PyTorch ve la GPU, que puede reservar memoria y que los kernels se lanzan sin errores. Las dos llamadas clave son is_available y device_count.
python3
>>> import torch
>>> torch.cuda.is_available()
True
>>> torch.cuda.device_count()
1
Con Docker, prueba el contenedor de muestras ‘nbody’ de NVIDIA. Si funciona con –gpus=all, tienes el runtime de contenedores correctamente configurado y visibilidad de la GPU desde los contenedores.
docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody \
nbody -gpu -benchmark -numdevices=1
En Windows+WSL, si aparece el error de ‘0 dispositivos’, recuerda el truco de deshabilitar/habilitar GPUs en el Administrador de dispositivos. Es un problema conocido que a veces ocurre en equipos con varias tarjetas.
Por último, no olvides validar el compilador de CUDA con nvcc -V y comprobar la instalación del driver con nvidia-smi. Ambos comandos deben ejecutarse sin errores.
Ajustes útiles en Linux: swap y modo servidor
Para evitar cierres por falta de memoria en entrenamientos pesados, ampliar el archivo de intercambio puede ser mano de santo. Un tamaño de 32 GB suele dar margen en modelos grandes.
sudo swapon --show
sudo swapoff -a
sudo dd if=/dev/zero of=/swapfile bs=1M count=32768 status=progress
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
sudo nano /etc/fstab
# Añade si no existe:
/swapfile none swap sw 0 0
Si usas Linux Mint (y similar en otras), puedes arrancar en modo multiusuario sin entorno gráfico para ahorrar recursos, incluyendo algo de VRAM. Perfecto para servidores o nodos de entrenamiento.
sudo nano /etc/default/grub
# Cambia "quiet splash" por "text"
sudo update-grub
sudo systemctl set-default multi-user.target
# Reinicia; para volver al escritorio en sesión:
startx
Problemas comunes y cómo solucionarlos
Drivers y Toolkit desalineados: si instalas un controlador incompatible con tu versión de CUDA, aparecerán errores al compilar o al lanzar kernels. Consulta la tabla de compatibilidad de NVIDIA y alinea versiones.
Conflictos de dependencias en Linux: elimina paquetes residuales de instalaciones previas, y usa apt o yum para resolver versiones exactas cuando te las solicite el instalador. Seguir al pie de la letra la guía oficial ayuda muchísimo.
WSL sin kernel adecuado: comprueba wsl –update y verifica la versión con ‘wsl cat /proc/version’. Windows Update debe estar al día para recibir mejoras del subsistema.
Docker sin GPU: asegúrate de tener instalado NVIDIA Container Toolkit y que Docker Desktop esté activo en Windows. Prueba con el contenedor nbody y revisa permisos del usuario si algo falla.
PATH y librerías: si nvcc o las bibliotecas de CUDA no se encuentran, revisa las variables PATH y LD_LIBRARY_PATH. Vuelve a ‘source ~/.bashrc’ tras editar y, si hace falta, reinicia la sesión.
Alternativa en la nube: instancias GPU listas para usar
Si no puedes o no quieres configurar localmente, una instancia en la nube con GPU te quita el trabajo de encima. Servicios con A100, RTX 4090 o A6000 ofrecen potencia bruta y plantillas listas para IA.
En plataformas que proporcionan pods preconfigurados, lanzas el entorno en minutos, reduces costes gracias a facturación por uso, y eliges imágenes optimizadas para PyTorch. Para equipos que rotan modelos y necesitan escalar, es un camino muy eficiente.
Con todo lo anterior, ya tienes el mapa completo: requisitos, instalación en Windows con WSL y en Linux nativo, validaciones clave con PyTorch y Docker, más extras de productividad con Miniconda, swap y modo servidor. El objetivo es que pases de cero a entrenar sin atascos, con un stack sólido y fácil de mantener.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.