Cómo instalar NVIDIA CUDA y cuDNN en Ubuntu: Guía completa de configuración para la aceleración GPU

1. Introducción

CUDA (Compute Unified Device Architecture) es una plataforma de computación paralela y una API proporcionada por NVIDIA que permite el procesamiento a alta velocidad mediante GPUs.
Se utiliza ampliamente en campos como el aprendizaje automático, el aprendizaje profundo y la computación científica.
Este artículo explica el procedimiento paso a paso para instalar CUDA en un entorno Ubuntu.

2. Requisitos previos

2.1 Cómo comprobar si hay una GPU compatible

Primero, verifica si la GPU NVIDIA instalada en tu sistema es compatible con CUDA.
Ejecuta el siguiente comando en la terminal:

lspci | grep -i nvidia

Si aparece un dispositivo NVIDIA en la salida, tu GPU ha sido reconocida.
Puedes consultar la lista completa de GPUs compatibles en el sitio web oficial de NVIDIA.

2.2 Comprobar la versión de Ubuntu

CUDA admite versiones específicas de Ubuntu.
Utiliza el siguiente comando para comprobar la versión actual de Ubuntu:

lsb_release -a

En general, se recomiendan las versiones LTS (Long Term Support) de Ubuntu.
Consulta la documentación oficial de NVIDIA para obtener la información más reciente sobre compatibilidad.

2.3 Verificar si gcc está instalado

El compilador gcc es necesario para instalar CUDA.
Comprueba el estado de la instalación con el siguiente comando:

gcc --version

Si gcc no está instalado, ejecuta este comando para instalarlo:

sudo apt install build-essential

3. Instalación del controlador NVIDIA

3.1 Eliminar controladores existentes

Si tienes instalados controladores NVIDIA antiguos, elimínalos para evitar conflictos.
Ejecuta los siguientes comandos:

sudo apt-get --purge remove '*nvidia*'
sudo apt-get autoremove

3.2 Seleccionar e instalar el controlador adecuado

Consulta el sitio web oficial de NVIDIA para encontrar el controlador correcto para tu GPU y, a continuación, instálalo siguiendo los pasos a continuación.

  1. Agregar el repositorio — Ejecuta los siguientes comandos para añadir el repositorio de controladores NVIDIA:
    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt-get update
    
  1. Comprobar los controladores recomendados — Usa este comando para encontrar el controlador recomendado:
    ubuntu-drivers devices
    

Instala el controlador etiquetado como “recomendado”.

  1. Instalar el controlador — Especifica la versión recomendada al instalar:
    sudo apt install nvidia-driver-<recommended-version>
    
  1. Reiniciar el sistema — Después de la instalación, reinicia Ubuntu:
    sudo reboot
    

4. Instalación del Toolkit CUDA

4.1 Selección de la versión de CUDA

En la página oficial de descarga de CUDA, verifica qué versión de CUDA es compatible con tu GPU y la versión de Ubuntu.
Si eliges la versión más reciente, asegúrate de que sea compatible con tu software y bibliotecas.

4.2 Añadir el repositorio e instalar

Sigue los pasos a continuación para instalar el Toolkit CUDA.

  1. Añadir el repositorio — El siguiente ejemplo utiliza Ubuntu 20.04:
    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
    sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
    
  1. Añadir la clave del repositorio — Obtén e instala la clave del repositorio:
    sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
    
  1. Instalar el paquete CUDA — Instala el Toolkit CUDA:
    sudo apt update
    sudo apt install cuda
    
  1. Verificar la instalación — Confirma que CUDA está instalado:
    nvcc --version
    

5. Configuración de variables de entorno

5.1 Configurar PATH y LD_LIBRARY_PATH

Para usar CUDA, debes configurar correctamente las variables de entorno. Sigue estos pasos:

  1. Editar el archivo .bashrc
    nano ~/.bashrc
    
  1. Añadir las siguientes líneas
    export PATH=/usr/local/cuda/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
    
  1. Aplicar los cambios — Guarda y recarga la terminal:
    source ~/.bashrc
    

6. Instalación de cuDNN

6.1 ¿Qué es cuDNN?

cuDNN (CUDA Deep Neural Network library) es una biblioteca acelerada por GPU optimizada para cargas de trabajo de aprendizaje profundo.

6.2 Descargar cuDNN

Descargue la versión de cuDNN compatible con su CUDA instalado desde el sitio web oficial de NVIDIA.
Se requiere una cuenta de NVIDIA para descargar.

6.3 Procedimiento de instalación

  1. Extraiga el archivo — Descomprima el archivo cuDNN descargado:
    tar -xzvf cudnn-<version>.tgz
    
  1. Copie los archivos — Copie los archivos necesarios en el directorio de CUDA:
    sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
    sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
    
  1. Verificar la instalación — Compruebe la versión de cuDNN con este comando:
    cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
    

7. Verificar la instalación

7.1 Comprobar el funcionamiento de CUDA

Ejecute el siguiente comando para verificar que CUDA está instalado correctamente:

nvcc --version

7.2 Ejecutar programas de ejemplo

Ejecute los programas de ejemplo de CUDA para probar la funcionalidad.

  1. Configurar los ejemplos
    cuda-install-samples-<version>.run
    cd ~/NVIDIA_CUDA-<version>_Samples/1_Utilities/deviceQuery
    make
    
  1. Ejecutar el programa
    ./deviceQuery
    

Si la salida muestra “PASS”, la instalación fue exitosa.

8. Solución de problemas

8.1 Problemas comunes y soluciones

  • Problema: CUDA no es reconocido Solución: Verifique nuevamente sus variables de entorno y reinicie el sistema.
  • Problema: La GPU no se está utilizando Solución: Intente reinstalar el controlador de NVIDIA.
  • Problema: Incompatibilidad entre CUDA y su software Solución: Verifique qué versión de CUDA soporta su software e instale la versión correspondiente.

9. Conclusión

Este artículo ofrece una guía detallada para instalar CUDA y cuDNN en un entorno Ubuntu.
Siguiendo estos pasos con precisión, podrá crear un entorno de computación GPU de alto rendimiento.
Si planea usar aprendizaje profundo o computación científica, considere configurar TensorFlow o PyTorch como su próximo paso.

侍エンジニア塾