Guía para Instalar CUDA 12.4 en Ubuntu 24.04 con una GTX 1060

Cómo Ejecutar CUDA 12.4 en Ubuntu 24.04 con una GTX 1060

La Situación

Mi GTX 1060 reporta soporte para CUDA 12.4 al verificar con nvidia-smi. Sin embargo, la matriz de soporte oficial de NVIDIA para Linux solo lista hasta Ubuntu 22.04. El problema es que esta máquina ejecuta Ubuntu 24.04.

Podrías pensar que esto no funcionaría, pero en realidad puedes hacerlo funcionar en Ubuntu 24.04 sin mayores problemas.

Actualmente uso CUDA 12.0, instalado mediante el método estándar del repositorio de Ubuntu.

Índice

Antecedentes y Justificación

  • La lista oficial de sistemas operativos compatibles de NVIDIA solo incluye aquellos probados y verificados oficialmente.
  • La GTX 1060 (arquitectura Pascal) soporta CUDA hasta la versión 12.4.
  • Mientras el kernel y la ABI de X.Org sean compatibles, puede ejecutarse en Ubuntu 24.04.

Guía de Configuración (Ubuntu 24.04 + GTX 1060 + CUDA 12.4)

1. Desinstalar Controladores Existentes (Si es Necesario)

Si instalaste controladores previamente de forma manual usando un archivo .run, es mejor realizar una desinstalación limpia.

sudo apt purge 'nvidia-*' 'cuda*'
sudo apt autoremove --purge
sudo reboot

2. Instalar Controladores de NVIDIA (Desde el Repositorio Oficial de Ubuntu)

Los controladores de la serie 550 disponibles en los repositorios oficiales de Ubuntu funcionan con la GTX 1060 y soportan hasta CUDA 12.4.

sudo apt update
sudo apt install nvidia-driver-550
sudo reboot

Sin embargo, encontré el siguiente error de dependencias:

Leyendo las listas de paquetes… Hecho
Creando el árbol de dependencias… Hecho
Leyendo la información de estado… Hecho
No se pudieron instalar algunos paquetes. Esto puede significar que
has solicitado una situación imposible o, si está utilizando la
distribución inestable, que algunos paquetes necesarios aún no se han creado
o se han movido fuera de Incoming.
La siguiente información puede ayudar a resolver la situación:

Los siguientes paquetes tienen dependencias no satisfechas:
nvidia-driver-550 : Depende: libnvidia-compute-550 (= 550.163.01-0ubuntu0.24.04.1) pero se va a instalar 550.163.01-0ubuntu1
Depende: libnvidia-decode-550 (= 550.163.01-0ubuntu0.24.04.1) pero no se va a instalar
Depende: libnvidia-encode-550 (= 550.163.01-0ubuntu0.24.04.1) pero no se va a instalar
Recomienda: nvidia-settings pero no se va a instalar
Recomienda: nvidia-prime (>= 0.8) pero no se va a instalar
Recomienda: libnvidia-compute-550:i386 (= 550.163.01-0ubuntu0.24.04.1) pero no es instalable
Recomienda: libnvidia-decode-550:i386 (= 550.163.01-0ubuntu0.24.04.1) pero no es instalable
Recomienda: libnvidia-encode-550:i386 (= 550.163.01-0ubuntu0.24.04.1) pero no es instalable
Recomienda: libnvidia-fbc1-550:i386 (= 550.163.01-0ubuntu0.24.04.1) pero no es instalable
Recomienda: libnvidia-gl-550:i386 (= 550.163.01-0ubuntu0.24.04.1) pero no es instalable
E: No se pudieron corregir los problemas, ha retenido paquetes rotos.

Causa del Error

El conflicto de dependencias ocurre porque algunos paquetes libnvidia-* provienen de la versión base de Noble (...0ubuntu1), mientras que otros se obtienen de Noble-updates (...0ubuntu0.24.04.1), causando incompatibilidad de versiones.

Solución (Los Pasos que Me Funcionaron)

1. Corregir Paquetes Rotos y Liberar Retenciones

sudo apt -f install
apt-mark showhold
# Si aparecen paquetes de nvidia, libera las retenciones
sudo apt-mark unhold libnvidia-compute-550 libnvidia-decode-550 libnvidia-encode-550 nvidia-driver-550 nvidia-utils-550

2. Agregar el PPA de Controladores Gráficos

sudo add-apt-repository -y ppa:graphics-drivers/ppa
sudo apt update

3. Instalar Todos los Paquetes con una Versión Específica

# Primero, elimina la versión conflictiva del paquete
sudo apt remove libnvidia-compute-550

# Luego, instala todo con la versión correcta y coincidente
sudo apt install \
  libnvidia-compute-550=550.163.01-0ubuntu0.24.04.1 \
  libnvidia-decode-550=550.163.01-0ubuntu0.24.04.1 \
  libnvidia-encode-550=550.163.01-0ubuntu0.24.04.1 \
  nvidia-utils-550=550.163.01-0ubuntu0.24.04.1 \
  nvidia-kernel-common-550=550.163.01-0ubuntu0.24.04.1 \
  nvidia-dkms-550=550.163.01-0ubuntu0.24.04.1 \
  nvidia-driver-550=550.163.01-0ubuntu0.24.04.1

Punto Clave:

  • Especifica explícitamente el mismo número de compilación, 550.163.01-0ubuntu0.24.04.1, para todos los paquetes.
  • Si apt solicita otras dependencias (por ejemplo, libnvidia-gl-550), agrégalas al comando con el mismo número de versión.

4. Reiniciar y Verificar

sudo reboot
# Después de reiniciar
nvidia-smi

Si ves CUDA Version: 12.4, estás listo para continuar.

3. Instalar CUDA Toolkit 12.4 (Usando el Paquete de Ubuntu 22.04)

Agregar el Repositorio de CUDA

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update

Si encuentras errores, hay dos formas de proceder.

Método 1: Instalar Solo el Kit de Herramientas Principal (Recomendado)

El cuda-toolkit-12-4 es un metapaquete que incluye muchos componentes, incluyendo las herramientas Nsight, que pueden causar problemas de dependencias en Ubuntu 24.04. Puedes evitar esto instalando solo los paquetes esenciales del compilador y bibliotecas. Esto aún te dará acceso a nvcc.

# Agrega el repositorio si aún no lo has hecho
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update

# Instala solo los componentes principales del toolkit
sudo apt install --no-install-recommends \
  cuda-compiler-12-4 \
  cuda-nvcc-12-4 \
  cuda-cudart-12-4 \
  cuda-driver-dev-12-4 \
  cuda-libraries-12-4 \
  cuda-libraries-dev-12-4 \
  cuda-cupti-12-4

Configura las variables de entorno (si aún no están configuradas):

echo 'export PATH=/usr/local/cuda-12.4/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

Verifica la instalación:

nvcc --version

Si muestra release 12.4, está todo listo. Puedes omitir la instalación de los ejemplos; si los necesitas, es mejor obtenerlos desde GitHub.

Obtener y Compilar Ejemplos desde GitHub

# Clona los ejemplos para la etiqueta v12.4
git clone --branch v12.4 https://github.com/NVIDIA/cuda-samples.git
cd cuda-samples/Samples/1_Utilities/deviceQuery

# Instala las dependencias de compilación si no las tienes
sudo apt install -y build-essential cmake

# Compila con CMake
cmake -S . -B build
cmake --build build -j

# Ejecuta el ejemplo
./build/bin/linux/release/deviceQuery

Un resultado Result = PASS indica éxito. (Nota: GitHub es ahora la fuente oficial de los ejemplos de CUDA; ya no se incluyen en el paquete apt).

Método 2: El Enfoque “Forzado” – Instalar libtinfo5 para Satisfacer el Metapaquete

Si absolutamente quieres instalar el metapaquete cuda-toolkit-12-4, puedes obtener temporalmente libtinfo5 desde los repositorios de Ubuntu 22.04 (Jammy)Úsalo bajo tu propio riesgo, ya que implica mezclar versiones de distribuciones. Se recomienda encarecidamente eliminar la entrada del repositorio de Jammy una vez terminado.

# Crea un pin para permitir solo libtinfo5 desde jammy
cat <<'EOF' | sudo tee /etc/apt/preferences.d/libtinfo5-from-jammy
Package: libtinfo5
Pin: release n=jammy
Pin-Priority: 700
EOF

# Agrega temporalmente el repositorio de jammy
echo "deb http://archive.ubuntu.com/ubuntu jammy main universe" | sudo tee /etc/apt/sources.list.d/jammy-temp.list
sudo apt update

# Instala la biblioteca heredada
sudo apt install libtinfo5

# Elimina el archivo de repositorio temporal
sudo rm /etc/apt/sources.list.d/jammy-temp.list
sudo apt update

Ahora deberías poder instalar el metapaquete:

sudo apt install --no-install-recommends cuda-toolkit-12-4

Si esto funciona, genial. Para un mantenimiento más simple a largo plazo, aún podrías considerar cambiar al Método 1 y evitar las herramientas Nsight.

¿Qué Método es Mejor?

  • El Método 1 es más seguro y simple. Es perfectamente suficiente para aprendizaje profundo y desarrollo personalizado de CUDA.
  • El Método 2 es para quienes prefieren instalar el metapaquete oficial. Sin embargo, puedes encontrar problemas de dependencias nuevamente con futuras actualizaciones.

Resumen

  • La GTX 1060 soporta CUDA hasta 12.4 y puede ejecutarse en Ubuntu 24.04.
  • Usar los controladores oficiales de la serie 550 desde el repositorio de Ubuntu es el enfoque más estable.
  • El CUDA Toolkit se puede instalar exitosamente usando los paquetes creados para Ubuntu 22.04.
  • Esta configuración es robusta y debería mantenerse compatible con futuras actualizaciones del kernel.

If you like this article, please
Follow !

¡Comparte esta publicación!
Índice