Las personas que han llegado a este post probablemente están comenzando a desarrollar deep learning utilizando GPU. Este artículo es una guía práctica que resume el proceso de preparación de cálculos con GPU basados en CUDA en un entorno Ubuntu.
En particular, está diseñado para principiantes que quieren "verificar si CUDA está correctamente instalado en mi PC".

Si tienes curiosidad sobre qué es CUDA, te recomiendo que leas el artículo anterior ¿Qué es CUDA? El inicio de GPU y computación paralela.

NVIDIA conduciendo un supercoche CUDA


1. ¿Por qué deberíamos configurar un entorno GPU?

El entrenamiento de modelos de IA requiere una gran cantidad de operaciones matriciales.
Estas operaciones se realizan mucho más rápido en un GPU especializado en operaciones paralelas que en un CPU.

Sin embargo, tener una GPU no es suficiente.
Necesitamos un driver que informe al sistema operativo sobre la GPU,
CUDA, que permite realizar cálculos en la GPU,
y una biblioteca optimizada para deep learning como cuDNN.
Estos tres elementos deben estar instalados correctamente para poder utilizar la GPU.


2. Verificando el estado de mi GPU - ¿tengo drivers y CUDA?

nvidia-smi

Esta es una herramienta que muestra el estado actual de la GPU.
Si ves CUDA Version y el nombre exacto de la GPU aquí,
significa que "la GPU ha sido reconocida correctamente y el driver está instalado".


3. Herramientas de desarrollo CUDA - ¿por qué se necesita nvcc?

nvcc es la herramienta que compila el código CUDA (.cu).
En otras palabras, es el compilador necesario para "realmente aprovechar CUDA".

sudo apt update
sudo apt install nvidia-cuda-toolkit
nvcc --version

4. cuDNN - El arma secreta que acelera las operaciones de deep learning en GPU

cuDNN es una biblioteca de operaciones numéricas de alta velocidad diseñada específicamente para deep learning de NVIDIA.

Se utiliza en frameworks de deep learning (PyTorch, TensorFlow, etc.)

  • Convolución
  • Pooling
  • RNN
  • LSTM
  • BatchNorm
  • Activaciones y más

Es una biblioteca esencial para quienes planean utilizar frameworks de deep learning como PyTorch o TensorFlow.

Es necesario instalar el paquete cuDNN que coincida con la versión de CUDA para que el framework pueda usar la GPU de manera eficiente.

El paquete cuDNN tiene diferentes rutas de descarga según el sistema operativo y la arquitectura de la CPU, así que asegúrate de visitar la página oficial de descarga de cuDNN de NVIDIA y descargar la biblioteca adecuada para ti.

Enlace de descarga de NVIDA cuDNN

Al descargar cuDNN a través del enlace anterior, asegúrate de verificar la versión de CUDA que confirmaste anteriormente en nvdia-smi antes de instalar el cuDNN correcto.


5. Prueba - Verifiquemos si la GPU está funcionando en Python

Una vez que hayas hecho la instalación, verifiquemos si está funcionando correctamente.

import torch
print(torch.cuda.is_available())          # True
print(torch.cuda.get_device_name(0))      # NVIDIA GeForce RTX  XXXX

6. Resumen

Componente Tu acción Por qué has hecho esto
Driver NVIDIA Verificar estado de instalación (nvidia-smi) Reconocer la GPU en el sistema
CUDA Toolkit Instalar nvcc Compilador para ejecutar el código CUDA
cuDNN Instalar cudnn-cuda-12 Biblioteca de optimización para operaciones de deep learning
Pruebas de PyTorch Verificar la integración de la GPU Validar si se puede realizar cálculos reales

7. Conclusión de Jesse

Ahora su sistema está listo para realizar cálculos en GPU.
Con este entorno, podrás entrenar o ejecutar rápidamente diversos modelos como Whisper, LLaMA y ChatGPT en la GPU.