PyTorch y CUDA: ¿Funciona la instalación con versiones mixtas?

Es una duda muy común cuando se empieza a trabajar con entornos de aprendizaje profundo: ¿es realmente seguro instalar PyTorch para una versión específica de CUDA, como la 12.4, si ya tenemos otra versión instalada en nuestro sistema, por ejemplo la 12.6?

Diagrama técnico mostrando la separación entre un entorno Conda con CUDA embebido y el sistema operativo.
Diagrama de entornos aislados en PyTorch y CUDA.

La respuesta corta es que, generalmente, no hay problema. Esto se debe a cómo funcionan las instalaciones modernas de PyTorch en entornos como Conda.

Cómo funciona la instalación con CUDA embebido

Al ejecutar un comando como conda install pytorch-cuda=12.4 -c pytorch, lo que realmente ocurre es que PyTorch instala sus propias bibliotecas CUDA necesarias dentro de ese entorno virtual específico.

Dado que el backend de CUDA se instala directamente en el entorno Conda, la instalación no depende ni intenta utilizar las bibliotecas del sistema global. Esto significa que tener una versión diferente de los drivers o de CUDA instalada a nivel de sistema operativo es completamente irrelevante para el funcionamiento correcto de tu script de Python.

¿Y si usáramos CUDA del sistema?

Si en lugar de usar un entorno Conda limpio, intentaras compilar PyTorch desde fuente o sin aislar los paquetes, entonces sí podrías tener problemas. En ese escenario hipotético, el compilador podría intentar vincularse contra las bibliotecas del sistema (CUDA 12.6) y encontrar incompatibilidades.

Por eso, la recomendación estándar es mantener esa separación: usa entornos aislados para que cada paquete se encargue de su propia versión de los drivers necesarios.

Resumen rápido

A continuación, un cuadro comparativo para tenerlo claro:

  • Usando conda install pytorch-cuda=12.4: No hay problema. El entorno es autosuficiente.
  • Usando CUDA del sistema sin aislar: Riesgo de conflicto si las versiones no son compatibles.