inteligenciaartificial 11zon

Configurar una máquina con múltiples GPUs para aprendizaje profundo en Linux puede ser una tarea desafiante, pero con la guía adecuada, puedes aprovechar al máximo el poder de cómputo paralelo que ofrecen las GPUs. A continuación, te presentamos una guía paso a paso para configurar tu máquina Linux con múltiples GPUs para tareas de aprendizaje profundo.

1. Requisitos Previos

Hardware

  • Múltiples GPUs compatibles con CUDA: Asegúrate de que tu máquina tenga múltiples GPUs compatibles con CUDA.
  • Fuente de alimentación adecuada: Asegúrate de que tu fuente de alimentación pueda soportar todas las GPUs.
  • Espacio y refrigeración: Asegúrate de que tu caja tenga suficiente espacio y ventilación para las GPUs.

Software

  • Distribución de Linux: Ubuntu es una de las distribuciones más recomendadas debido a su compatibilidad y soporte.
  • Controladores NVIDIA: Necesitas los controladores de NVIDIA.
  • CUDA Toolkit: Para aprovechar el cómputo paralelo de las GPUs.
  • cuDNN: Biblioteca de primitivas para redes neuronales aceleradas por GPU.
  • Frameworks de aprendizaje profundo: TensorFlow, PyTorch, etc.

2. Instalación del Sistema Operativo

Instala una distribución de Linux compatible. Ubuntu 20.04 LTS es una opción popular por su estabilidad y soporte a largo plazo. Puedes descargar Ubuntu desde su sitio oficial e instalarlo siguiendo las instrucciones proporcionadas.

3. Instalación de Controladores NVIDIA

Paso 1: Actualizar y Preparar el Sistema

sudo apt update sudo apt upgrade sudo apt install build-essential

Paso 2: Agregar el Repositorio de Controladores NVIDIA

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

Paso 3: Instalar el Controlador NVIDIA

ubuntu-drivers devices

Este comando listará los controladores disponibles. Selecciona el más reciente y estable, por ejemplo, nvidia-driver-460.

sudo apt install nvidia-driver-460 sudo reboot

Paso 4: Verificar la Instalación del Controlador

nvidia-smi

Este comando debería mostrar información sobre tus GPUs.

4. Instalación de CUDA Toolkit

Paso 1: Descarga el Instalador de CUDA

Visita la página oficial de CUDA y descarga la versión correspondiente a tu sistema.

Paso 2: Instala CUDA

sudo dpkg -i cuda-repo-<distro>_<version>_amd64.deb sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/<distro>/x86_64/7fa2af80.pub sudo apt update sudo apt install cuda

Paso 3: Configura las Variables de Entorno

Agrega las siguientes líneas al archivo ~/.bashrc:

export PATH=/usr/local/cuda-<version>/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-<version>/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
 source ~/.bashrc

5. Instalación de cuDNN

Paso 1: Descarga cuDNN

Visita la página de descargas de cuDNN y descarga la versión compatible con tu CUDA Toolkit.

Paso 2: Instala cuDNN

tar -xzvf cudnn-<version>-linux-x64-v<version>.tgz
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*

6. Instalación de Frameworks de Aprendizaje Profundo

TensorFlow

pip install tensorflow-gpu

PyTorch

pip install torch torchvision torchaudio

7. Configuración de Multi-GPU

TensorFlow

Para usar múltiples GPUs en TensorFlow, utiliza el siguiente código:

import tensorflow as tf
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
try:
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)
logical_gpus = tf.config.experimental.list_logical_devices('GPU')
print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
except RuntimeError as e:
print(e)
strategy = tf.distribute.MirroredStrategy()
with strategy.scope():
# Tu modelo y código de entrenamiento aquí

PyTorch

Para usar múltiples GPUs en PyTorch, utiliza el siguiente código:

import torch
import torch.nn as nn
import torch.optim as optim
model = nn.DataParallel(model)
model.to('cuda')
criterion = nn.CrossEntropyLoss().cuda()
optimizer = optim.SGD(model.parameters(), lr=0.01)
# Tu código de entrenamiento aquí

Configurar una máquina Linux con múltiples GPUs para aprendizaje profundo puede parecer complicado, pero siguiendo estos pasos, podrás aprovechar al máximo el poder de cómputo paralelo de tus GPUs. Asegúrate de mantener tu sistema y software actualizados para obtener el mejor rendimiento y seguridad. Con una configuración adecuada, estarás listo para realizar tareas de aprendizaje profundo de manera eficiente y efectiva.

 

Fuente: somoslibres

¿Quién está en línea?

Hay 27840 invitados y ningún miembro en línea