Cómo verificar la versión de CUDA y cuDNN en Ubuntu: Guía paso a paso

目次

1. Introducción

CUDA (Compute Unified Device Architecture) es una plataforma de computación paralela desarrollada por NVIDIA que utiliza GPU. Se emplea en numerosos procesos de cálculo como aprendizaje automático, aprendizaje profundo y renderizado 3D.

Al utilizar CUDA en un entorno Ubuntu, es importante verificar la versión de CUDA por las siguientes razones:

Compatibilidad con los controladores

CUDA está vinculado a versiones específicas de controladores NVIDIA, y si no son compatibles, el sistema podría no funcionar correctamente.

Compatibilidad de bibliotecas

Bibliotecas como TensorFlow o PyTorch requieren versiones específicas de CUDA y cuDNN, por lo que es necesario asegurarse de tener la versión adecuada instalada.

Evitar conflictos en el entorno

Si el sistema tiene múltiples versiones de CUDA instaladas, es fundamental saber cuál está activa y cambiarla cuando sea necesario.

En este artículo explicaremos de forma sencilla cómo verificar la versión de CUDA en Ubuntu.

2. Cómo verificar la versión de CUDA en Ubuntu

En un entorno Ubuntu, existen varias formas de comprobar la versión de CUDA instalada.

Método 1: Verificar con el comando nvidia-smi (el método más sencillo)

Los controladores de NVIDIA incluyen la herramienta nvidia-smi (NVIDIA System Management Interface) para comprobar el estado de la GPU.

Comando de ejecución

nvidia-smi

Ejemplo de salida

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 530.41.03    Driver Version: 530.41.03    CUDA Version: 12.1     |
+-----------------------------------------------------------------------------+

Puntos clave

  • La parte CUDA Version: 12.1 indica la versión máxima de CUDA soportada por el controlador NVIDIA.
  • Puede diferir de la versión del toolkit CUDA realmente instalada, por lo que conviene usar también otros métodos.

Método 2: Verificar con nvcc -V (para desarrolladores)

Si CUDA está instalado correctamente, es posible comprobar la versión del compilador nvcc (NVIDIA CUDA Compiler).

Comando de ejecución

nvcc -V

Ejemplo de salida

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Sun_Jul_30_19:09:40_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105

Puntos clave

  • release 12.1, V12.1.105versión real del toolkit CUDA instalado.
  • Puede no coincidir con la versión mostrada en nvidia-smi.

Método 3: Verificar version.txt (método manual)

Si CUDA está instalado en /usr/local/cuda, el archivo version.txt contiene la información de la versión.

Comando de ejecución

cat /usr/local/cuda/version.txt

Ejemplo de salida

CUDA Version 12.1.105

Puntos clave

  • Permite verificar la versión incluso si nvcc -V no está disponible.
  • Es necesario comprobar que /usr/local/cuda esté correctamente enlazado mediante un enlace simbólico.

3. Cómo verificar la versión de cuDNN

cuDNN (CUDA Deep Neural Network) es una biblioteca diseñada para aprendizaje profundo que se utiliza junto con CUDA.
Al igual que con CUDA, es importante verificar la versión de cuDNN.

Método 1: Revisar cudnn_version.h

La versión de cuDNN se encuentra en el archivo de cabecera cudnn_version.h.

Comando de ejecución

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

Ejemplo de salida

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 1

Puntos clave

  • En este caso, se identifica que está instalado cuDNN 8.9.1.
  • El uso del comando grep facilita obtener rápidamente la información de la versión.
  • Es fundamental asegurarse de la compatibilidad entre la versión de cuDNN y la de CUDA.

Método 2: Verificar con dpkg (solo en Linux basado en Debian)

En sistemas basados en Debian como Ubuntu, se puede usar el comando dpkg para comprobar la versión instalada de cuDNN.

Comando de ejecución

dpkg -l | grep libcudnn

Ejemplo de salida

ii  libcudnn8    8.9.1-1+cuda12.1    amd64    NVIDIA cuDNN Library

Puntos clave

  • La parte libcudnn8 8.9.1-1+cuda12.1 indica la versión de cuDNN (8.9.1).
  • El sufijo cuda12.1 señala la versión de CUDA compatible (12.1).

Con estos métodos puedes asegurarte de que el entorno CUDA está configurado correctamente.

4. Cómo manejar múltiples versiones de CUDA en Ubuntu

En Ubuntu es posible tener instaladas varias versiones de CUDA. Sin embargo, esto puede generar confusión sobre cuál versión está activa.
En estos casos, es necesario alternar entre versiones para garantizar que se use la adecuada.

Método 1: Cambiar con update-alternatives

Ubuntu permite usar update-alternatives para gestionar múltiples versiones de CUDA.

Comprobar la configuración actual

update-alternatives --query cuda

Cambiar de versión

sudo update-alternatives --config cuda

Ejemplo de salida

There are 3 choices for the alternative cuda (providing /usr/local/cuda).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/local/cuda-11.8  100       auto mode
  1            /usr/local/cuda-10.2  50        manual mode
  2            /usr/local/cuda-11.8  100       manual mode
  3            /usr/local/cuda-12.1  110       manual mode

Press <enter> to keep the current choice[*], or type selection number:

Puntos clave

  • Con update-alternatives --config cuda se muestran todas las versiones disponibles.
  • Introduce el número correspondiente para seleccionar la versión de CUDA que desees usar.
  • Puedes elegir entre auto mode y manual mode; el segundo te permite alternar manualmente.

Método 2: Configurar enlaces simbólicos manualmente

También puedes cambiar de versión configurando manualmente un enlace simbólico.

Verificar el enlace simbólico actual

ls -l /usr/local/cuda

Ejemplo de salida

lrwxrwxrwx 1 root root 20 Feb  1 12:34 /usr/local/cuda -> /usr/local/cuda-11.8

Cambiar la versión de CUDA

sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-12.1 /usr/local/cuda

Comprobar nuevamente

ls -l /usr/local/cuda

Puntos clave

  • /usr/local/cuda es la ruta por defecto, por lo que al cambiar este enlace también cambias la versión activa.
  • Con el comando ln -s puedes enlazar fácilmente a la versión de CUDA que necesites.

Con estos métodos podrás gestionar de forma eficiente múltiples versiones de CUDA en tu sistema Ubuntu.

5. Preguntas frecuentes (FAQ)

A continuación recopilamos algunas preguntas frecuentes sobre la verificación de la versión de CUDA. Úsalas como referencia en caso de problemas.

P1: ¡nvcc -V no se encuentra!

Si el comando nvcc no se encuentra, es posible que la ruta de CUDA no esté configurada correctamente.

Solución 1: Comprobar si CUDA está instalado

ls /usr/local/cuda/

Solución 2: Añadir la ruta de nvcc

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

Después de esto, vuelve a ejecutar nvcc -V y comprueba si se muestra correctamente la versión.

P2: ¿Por qué la versión de CUDA que muestra nvidia-smi no coincide con la instalada?

La versión de CUDA mostrada en nvidia-smi corresponde a la versión máxima soportada por el controlador NVIDIA.

Ejemplo de verificación:

nvidia-smi

Ejemplo de salida:

CUDA Version: 12.1

Sin embargo, la versión realmente instalada debe comprobarse con nvcc -V o version.txt.

P3: ¿Cómo verificar la compatibilidad entre CUDA y cuDNN?

La forma más fiable es consultar la matriz de compatibilidad oficial de NVIDIA.

Sitio oficial:

NVIDIA cuDNN Support Matrix

También puedes comprobar las versiones instaladas con los siguientes comandos:

Verificar versión de CUDA

nvcc -V

Verificar versión de cuDNN

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

De esta manera podrás evitar problemas asegurando la compatibilidad entre CUDA y cuDNN.

6. Conclusión

En este artículo explicamos en detalle cómo verificar la versión de CUDA en un entorno Ubuntu.
Repasemos los puntos más importantes:

Métodos para comprobar la versión de CUDA

MétodoComandoCaracterísticas
nvidia-sminvidia-smiMuestra la versión de CUDA soportada por el controlador
nvcc -Vnvcc -VMuestra la versión real del toolkit CUDA instalado
version.txtcat /usr/local/cuda/version.txtPermite comprobar manualmente la versión de CUDA

Métodos para comprobar cuDNN

MétodoComandoCaracterísticas
cudnn_version.hcat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2Obtiene la versión desde el archivo de cabecera
Comando dpkgdpkg -l | grep libcudnnVerifica la versión de cuDNN instalada en sistemas Debian/Ubuntu

Métodos para cambiar de versión de CUDA

MétodoComandoCaracterísticas
update-alternativessudo update-alternatives --config cudaAlternar entre varias versiones instaladas
Enlace simbólicosudo ln -s /usr/local/cuda-XX.X /usr/local/cudaCambiar manualmente la versión activa

Puntos clave de la conclusión

  • Es fundamental identificar correctamente la versión de CUDA
  • Verificar siempre la compatibilidad con cuDNN
  • Si usas múltiples versiones, domina los métodos de conmutación

Gestionando adecuadamente tu entorno podrás aprovechar al máximo las capacidades de CUDA.
Esperamos que esta guía te haya sido útil para comprobar la versión de CUDA en tu sistema Ubuntu.

Artículos relacionados

Artículos

1. Introducción CUDA (Compute Unified Device Architecture) es una plataforma y API de computación paralela desarrollada[…]

Artículos

1. Razones para usar los controladores Nvidia en Ubuntu Ubuntu ofrece de manera predeterminada el controlador de código[…]

Artículos

1. Introducción Al utilizar la GPU en Ubuntu, es fundamental verificar con precisión su estado. En especial, en tareas […]