Logotipo de VRAMfarm VRAMfarm
ES
Registrarse

11 de noviembre de 2026 · Equipo de VRAMfarm

Versión del driver de CUDA incompatible: arregla PyTorch y ComfyUI en una GPU alquilada

Salida de nvidia-smi con el driver y la versión de CUDA resaltados junto a una comprobación de la versión de PyTorch en una GPU alquilada

Lanzas un servidor, instalas tu proyecto y la primera comprobación imprime torch.cuda.is_available() False. O ComfyUI se para con «The NVIDIA driver on your system is too old». En una máquina alquilada entran en juego varios números de versión, y el que decide suele ser el build de PyTorch, que sí puedes cambiar. El driver pertenece al anfitrión. Así que la solución casi siempre es una de dos: instalar el wheel de PyTorch que encaja con el driver o elegir una máquina cuyo driver encaje con el build que necesitas. Las dos cosas llevan unos minutos cuando sabes qué número es cuál.

Driver, CUDA toolkit y build de PyTorch: tres números distintos

Qué Dónde está Cómo verlo ¿Puedes cambiarlo en un servidor alquilado?
Driver de NVIDIA, p. ej. 570.172 En el anfitrión; tu contenedor lo usa nvidia-smi, «Driver Version» No
«CUDA Version» en nvidia-smi, p. ej. 12.8 La CUDA más reciente que admite ese driver nvidia-smi, arriba a la derecha No, va con el driver
CUDA toolkit (nvcc) Dentro del contenedor, opcional nvcc --version Sí, pero solo hace falta para compilar código
CUDA del wheel de PyTorch: cu126, cu128, cu130 Incluida en los paquetes de pip torch.version.cuda Sí, con pip

Una regla cubre la mayoría de los casos: la versión de CUDA de tu build de PyTorch no puede ser más reciente que la «CUDA Version» que muestra nvidia-smi. Los drivers son compatibles hacia atrás. Un driver que admite CUDA 12.8 ejecuta builds cu118, cu124, cu126 y cu128. Un build cu130 no funcionará en él, y uno cu129 puede que sí o puede que no (mira la nota bajo la tabla).

Driver mínimo de Linux para cada build de CUDA:

Build de CUDA Driver necesario
11.8 520 o posterior
12.4 550 o posterior
12.6 560 o posterior
12.8 570 o posterior
12.9 575 o posterior
13.0 580 o posterior

Los programas de CUDA 12.x a veces funcionan en un driver más antiguo de la serie 12 (525 o posterior) gracias a lo que NVIDIA llama compatibilidad de versión menor, pero algunas funciones necesitan el driver completo y los fallos aparecen en sitios raros. No cuentes con ello.

Comprueba la máquina en menos de un minuto

Abre la terminal de Jupyter o conéctate por SSH (cómo configurar una clave SSH) y ejecuta:

nvidia-smi
nvcc --version
python -c "import torch; print(torch.__version__, torch.version.cuda, torch.cuda.is_available()); print(torch.cuda.get_device_name(0), torch.cuda.get_device_capability(0)); print(torch.cuda.get_arch_list())"

Cómo leer el resultado:

  • nvidia-smi te da el driver y la CUDA más reciente que admite. Si falla el propio nvidia-smi, el problema está en el anfitrión, no en tu software (lo vemos más abajo).
  • nvcc puede decir «command not found». Para PyTorch no pasa nada, porque no lo necesita.
  • La línea de Python debería imprimir algo como 2.8.0+cu128 12.8 True, y después el nombre de la tarjeta y su compute capability, como (12, 0) en una RTX 5090. La lista de arquitecturas tiene que incluir tu tarjeta: sm_80 para la A100, sm_86 para la serie RTX 30 y las RTX A4000–A6000, sm_89 para la serie RTX 40, la L4, la L40 y la L40S, sm_90 para la H100 y la H200, sm_120 para la serie RTX 50 y la RTX PRO 6000, y sm_100 para la B200.

Si torch.version.cuda imprime None, tienes un build solo para CPU. ComfyUI muestra los mismos datos al arrancar: busca en el log la línea «pytorch version» con su sufijo +cu y la línea «Device: cuda:0».

Qué significa cada error y cómo arreglarlo

“RuntimeError: No CUDA GPUs are available”

También aparece como torch.cuda.is_available() devolviendo False. Revisa las causas por orden:

  1. echo $CUDA_VISIBLE_DEVICES imprime un valor vacío o un índice incorrecto. Elimina la variable o ponla a 0.
  2. torch.version.cuda es None: un build para CPU. Reinstala como se explica en la siguiente sección.
  3. El build de PyTorch es más reciente de lo que admite el driver, y la comprobación del driver ha fallado sin avisar. Compara los dos números.
  4. nvidia-smi también falla: el contenedor no tiene acceso a la GPU. Es un problema del anfitrión.

“The NVIDIA driver on your system is too old (found version 12020)”

El número es la CUDA más reciente que admite el driver, escrita sin puntos: 12020 es 12.2 y 12080 es 12.8. Tu build de PyTorch necesita una más nueva. O instalas un build más antiguo que encaje, que para un driver de 12.2 significa una versión vieja de PyTorch, o te pasas a una máquina con un driver más reciente. En proyectos actuales, lo segundo suele ser más rápido.

“AssertionError: Torch not compiled with CUDA enabled”

Tienes instalado un build solo para CPU. En Linux suele venir del índice de CPU, de una versión +cpu fijada en un archivo de requisitos o de un paquete que ha reinstalado torch como dependencia propia. Los nodos personalizados de ComfyUI lo hacen más a menudo de lo que esperarías.

“CUDA error: no kernel image is available for execution on the device”

Normalmente va precedido de un aviso como «NVIDIA GeForce RTX 5090 with CUDA capability sm_120 is not compatible with the current PyTorch installation». El build no tiene código para la arquitectura de tu tarjeta. En las tarjetas Blackwell, eso significa PyTorch anterior a 2.7 o un build anterior a cu128. El mismo error sale con extensiones compiladas sin tu arquitectura: xformers, flash-attn, versiones antiguas de bitsandbytes o kernels de atención fijados a una versión vieja.

“nvidia-container-cli: requirement error: unsatisfied condition: cuda>=12.8”

Este aparece con tu propia imagen de Docker. Las imágenes base de CUDA de NVIDIA declaran la versión de CUDA que necesitan, y el contenedor no arranca en una máquina con un driver más antiguo. Reconstruye la imagen sobre una base con una versión de CUDA más baja o elige una máquina con un driver más reciente.

“Failed to initialize NVML: Driver/library version mismatch”

Si nvidia-smi falla con esto o con «couldn’t communicate with the NVIDIA driver», el driver del anfitrión está roto o ha cambiado por debajo del contenedor. Desde dentro no puedes arreglarlo. Guarda /workspace y detén el servidor (la facturación termina en cuanto se ha detenido), lanza otro y dile a soporte qué máquina era.

“ImportError: libcudnn.so.9: cannot open shared object file”

Dos paquetes esperan librerías de CUDA distintas, por ejemplo PyTorch para CUDA 12 y un build de ONNX Runtime o TensorFlow para otra versión. Ejecuta pip check, mantén todo en la misma generación de CUDA y, si tienes dudas, empieza con un entorno virtual nuevo.

Instala el build de PyTorch que encaja

  1. Mira la «CUDA Version» en nvidia-smi.
  2. Elige el build de PyTorch más reciente que no la supere: 12.8 → cu128; 12.6 → cu126; 13.0 → cu130 o cu128. El selector de pytorch.org enumera los builds que ofrece la versión actual.
  3. Instálalo en un entorno virtual, con torch, torchvision y torchaudio juntos y desde el mismo índice para que sus versiones coincidan:
python -m venv /workspace/venv
source /workspace/venv/bin/activate
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128

Si tienes el entorno en /workspace, entra en la carpeta guardada cuando detengas el servidor. Recuerda que entonces la siguiente máquina también necesita un driver lo bastante reciente para ese build.

  1. Evita que otros paquetes lo sustituyan. Escribe la versión instalada en un archivo de restricciones y haz que pip lo respete:
pip freeze | grep -E "^torch(vision|audio)?==" > /workspace/constraints.txt
export PIP_CONSTRAINT=/workspace/constraints.txt
  1. Instala las extensiones para el mismo build. xformers publica wheels en el mismo índice de PyTorch; un simple pip install xformers puede arrastrar otro torch. flash-attn tiene wheels precompilados para las combinaciones habituales de torch y CUDA. Compilarlo tú necesita el CUDA toolkit con la misma versión mayor y puede llevar una hora o más de tiempo facturado, según la CPU.

Para ComfyUI: después de instalar nodos personalizados con el Manager, vuelve a ejecutar la comprobación de Python. Si algún nodo ha cambiado torch, reinstálalo con la línea de arriba y luego ejecuta pip install -r requirements.txt en la carpeta de ComfyUI. La plantilla de ComfyUI viene con PyTorch sobre CUDA 12.8.

La serie RTX 50 y otras tarjetas Blackwell necesitan CUDA 12.8 o posterior

La RTX 5090, la RTX 5080, la RTX 5070 Ti y la RTX PRO 6000 usan la arquitectura sm_120 de Blackwell; la B200 usa sm_100. Necesitan estas tres cosas a la vez:

  • driver 570 o posterior;
  • un build de PyTorch para CUDA 12.8 o superior (cu128, cu129, cu130);
  • PyTorch 2.7 o posterior, la primera versión estable con soporte para Blackwell.

Los proyectos fijados a un stack antiguo, como torch 2.1 con cu118 en un repositorio de entrenamiento viejo, no funcionan en Blackwell de ninguna manera. Las tarjetas Ampere y Ada siguen ejecutando esos builds, así que para un proyecto antiguo lo práctico es una RTX 4090 o una RTX 3090. La mayoría de las extensiones populares ya publican wheels con sm_120; sus versiones antiguas fijadas, no. Si una extensión falla en una RTX 5090, comprueba que su versión sea reciente antes de sospechar de la tarjeta.

No puedes actualizar el driver, así que elígelo antes de lanzar

El driver forma parte del sistema operativo del anfitrión. Tu servidor es un contenedor que recibe desde fuera las librerías del driver. Instalar un paquete de driver dentro no cambia nada útil y puede romper esas librerías. El paquete de compatibilidad futura de NVIDIA solo ayuda en tarjetas de centro de datos y no es una solución general.

VRAMfarm muestra el driver y la versión de CUDA de cada máquina antes de que la lances, tanto en el asistente de lanzamiento del panel como en el catálogo de servidores, donde puedes filtrar por versión mínima de CUDA. Elígelo igual que eliges la memoria:

  • un stack en cu128 → CUDA 12.8 o posterior, driver 570 o posterior;
  • cu130 → CUDA 13.0 o posterior, driver 580 o posterior;
  • un proyecto antiguo en cu118 → cualquier driver actual, pero no una tarjeta Blackwell.

Para tu propia imagen de Docker, parte de la versión de CUDA más baja que tu stack necesite de verdad, no de la más reciente. Una imagen con CUDA 12.6 arranca en más máquinas que una con 13.0. Si después de estas comprobaciones sigue un error de versión, escribe a soporte con el texto del error y la salida de los tres comandos de arriba; normalmente basta para encontrar la causa. En las preguntas frecuentes respondemos otras dudas habituales sobre los servidores.

Preguntas sobre el tema

¿Puedo actualizar el driver de NVIDIA en un servidor GPU alquilado?

No. El driver pertenece a la máquina anfitriona, y tu servidor es un contenedor que solo lo ve. Elige una máquina cuyo driver y versión de CUDA encajen con tu software: los dos se muestran antes del lanzamiento.

¿Tengo que instalar el CUDA toolkit para usar PyTorch?

No. Los wheels de PyTorch de pip traen sus propias librerías de CUDA y solo necesitan un driver lo bastante reciente. El toolkit con nvcc solo importa cuando compilas algo, como flash-attn desde el código fuente o una extensión de CUDA propia.

nvidia-smi dice CUDA 12.8 pero nvcc dice 12.1. ¿Cuál tiene razón?

Los dos. nvidia-smi muestra la CUDA más reciente que admite el driver; nvcc muestra el toolkit instalado en el contenedor. PyTorch no usa ninguno de los dos toolkits: trae las librerías de CUDA con las que se compiló, que es lo que imprime torch.version.cuda, y solo necesita que el driver sea lo bastante nuevo para ellas.

¿Qué build de PyTorch necesito para una RTX 5090?

PyTorch 2.7 o posterior, compilado para CUDA 12.8 o superior (cu128, cu129 o cu130), en una máquina con driver 570 o más reciente. Los builds anteriores se cargan, pero se paran con «no kernel image is available».

Encuentra la GPU en la que cabe tu modelo

Elige un modelo y verás la tarjeta más barata con VRAM suficiente, con facturación por minuto en euros.