Configuración de GPU
Este artículo se cotejó inicialmente con las notas de la versión de Ubuntu 26.04 LTS de abril de 2026. El controlador AI/GPU y las versiones CUDA/ROCm aún necesitan una validación continua con respecto a las matrices de soporte del proveedor.
La GPU es el hardware clave para ejecutar la mayoría de las cargas de trabajo de IA. This article provides a detailed guide for configuring the NVIDIA GPU environment on Ubuntu 26.04, including driver installation, CUDA Toolkit, cuDNN, and verification steps. También cubre brevemente la configuración de AMD GPU ROCm.
26.04 Estado del repositorio
Los repositorios Ubuntu 26.04 ahora proporcionan el kit de herramientas NVIDIA CUDA (sudo apt install cuda-toolkit) y AMD ROCm 7.1.0 (sudo apt install rocm). No están preinstalados por defecto. Para la capacitación de producción, versiones específicas de PyTorch/TensorFlow, o servidores multi-GPU, continúe tratando las matrices de soporte del proveedor y las notas de la versión del marco de NVIDIA/AMD como la fuente final de verdad.
Instalación del controlador NVIDIA
Ubuntu 26.04 proporciona la conveniente herramienta ubuntu-drivers para la instalación del controlador NVIDIA.
Comprobar hardware
# View NVIDIA GPUs in the system
lspci | grep -i nvidia
# Check recommended driver versions
sudo ubuntu-drivers devicesSalida de ejemplo:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002684sv...
vendor : NVIDIA Corporation
model : AD102 [GeForce RTX 4090]
driver : nvidia-driver-560 - third-party non-free recommended
driver : nvidia-driver-550 - third-party non-free
driver : nvidia-driver-555 - third-party non-freeInstalación automática (recomendada)
# Automatically install the recommended driver version
sudo ubuntu-drivers autoinstall
# Reboot to activate the driver
sudo rebootInstalación manual de una versión específica
# View available driver versions
apt list nvidia-driver-* 2>/dev/null | grep -v "Listing"
# Install a specific version
sudo apt install -y nvidia-driver-560
# Reboot
sudo rebootInstalar desde el repositorio oficial NVIDIA (última versión)
# Add the NVIDIA official repository (Ubuntu 26.04 uses ubuntu2604)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2604/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
# Install the latest driver
sudo apt install -y nvidia-open
# Reboot
sudo rebootVerificar la instalación del controlador
# Check driver version and GPU status
nvidia-smiEjemplo de salida normal:
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.03 Driver Version: 560.35.03 CUDA Version: 12.6 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4090 Off | 00000000:01:00.0 On | Off |
| 0% 35C P8 18W / 450W | 512MiB / 24564MiB | 0% Default |
+-----------------------------------------+------------------------+----------------------+La “Versión CUDA” que se muestra en la salida nvidia-smi indica la versión más alta de CUDA admitida por el controlador, no la versión del kit de herramientas CUDA realmente instalada. Debe instalar el kit de herramientas CUDA por separado.
Instalación del kit de herramientas CUDA
El kit de herramientas CUDA es la plataforma informática GPU y el modelo de programación de NVIDIA, requerido por la mayoría de los marcos de IA (PyTorch, TensorFlow, etc.).
Cómo se relacionan las versiones del controlador y CUDA
Cada kit de herramientas CUDA requiere una versión mínima del controlador NVIDIA, y el CUDA más nuevo necesita un controlador más nuevo. Antes de instalar, confíe en las notas de la versión del kit de herramientas NVIDIA CUDA y las matrices de soporte de versiones de PyTorch / TensorFlow para elegir una combinación compatible con todos tres. Un enfoque común: ejecute nvidia-smi para ver la versión más alta de CUDA que admite el controlador, luego elija el kit de herramientas CUDA y las ruedas de marco en consecuencia.
Método 1 (recomendado): instalar desde el repositorio de Ubuntu 26.04
Ubuntu 26.04 incluye el kit de herramientas CUDA en su repositorio. Para la mayoría del desarrollo local, esta es la opción más sencilla:
# Install the CUDA Toolkit from the Ubuntu repository
sudo apt install -y cuda-toolkit
# Verify
nvcc --versionMétodo 2: instalar una versión específica del repositorio NVIDIA
Si necesita una versión específica del kit de herramientas CUDA (por ejemplo, para que coincida con una rueda PyTorch en particular):
# Add the NVIDIA official repository (Ubuntu 26.04 uses ubuntu2604)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2604/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
# List available CUDA Toolkit versions in the repository
apt-cache search cuda-toolkit
# Install a specific version (replace XX-Y with an actual available version, e.g. cuda-toolkit-13-0)
sudo apt install -y cuda-toolkit-XX-YUbuntu 26.04 ahora envía el kit de herramientas NVIDIA CUDA en sus repositorios oficiales, por lo que sudo apt install cuda-toolkit funciona directamente. El repositorio NVIDIA de ubuntu2604 sigue siendo útil cuando necesita una versión específica de CUDA (por ejemplo, para que coincida con una rueda PyTorch en particular).
Configurar variables de entorno
# Add CUDA to PATH
cat >> ~/.bashrc << 'EOF'
# CUDA Toolkit
export CUDA_HOME=/usr/local/cuda
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
EOF
source ~/.bashrcVerificar la instalación de CUDA
# Check CUDA compiler version
nvcc --version
# Example output:
# nvcc: NVIDIA (R) Cuda compiler driver
# Cuda compilation tools, release X.Y, VX.Y.xxx
# Run CUDA samples (optional)
# Newer CUDA versions no longer ship samples with the Toolkit; clone them from GitHub
sudo apt install -y cmake build-essential git
git clone https://github.com/NVIDIA/cuda-samples.git
cd cuda-samples
cmake -B build && cmake --build build -j$(nproc)
# Run device query (path may vary by version)
./build/Samples/1_Utilities/deviceQuery/deviceQuery
# If output shows "Result = PASS", installation is successfulInstale varias versiones de CUDA
# With the NVIDIA repository you can install multiple versions (replace XX-Y with actual versions)
sudo apt install -y cuda-toolkit-XX-Y
sudo apt install -y cuda-toolkit-ZZ-W
# View installed versions
ls /usr/local/ | grep cuda
# Switch default version (by updating the symlink; replace X.Y with the target version)
sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-X.Y /usr/local/cuda
# Verify current version
nvcc --versionInstalación de cuDNN
cuDNN (biblioteca de red neuronal profunda CUDA) es la biblioteca de aceleración de aprendizaje profundo de NVIDIA. Tanto PyTorch como TensorFlow dependen de ello.
Instalar a través de apt (recomendado)
# Ensure the NVIDIA repository has been added
# Install cuDNN for CUDA 12
sudo apt install -y cudnn9-cuda-12
# Or install specific packages
sudo apt install -y libcudnn9-cuda-12 libcudnn9-dev-cuda-12
# Verify installation
dpkg -l | grep cudnnInstalar a través del paquete tar
# Download cuDNN from the NVIDIA developer website
# https://developer.nvidia.com/cudnn-downloads
# Requires a free NVIDIA developer account
# Extract to the CUDA directory
sudo tar -xzf cudnn-linux-x86_64-9.x.x.x_cuda12-archive.tar.xz
sudo cp cudnn-linux-x86_64-9.x.x.x_cuda12-archive/include/* /usr/local/cuda/include/
sudo cp cudnn-linux-x86_64-9.x.x.x_cuda12-archive/lib/* /usr/local/cuda/lib64/
sudo ldconfigVerificar cuDNN
# Check if cuDNN can be found
ldconfig -p | grep cudnn
# Verify via Python (requires PyTorch to be installed first)
python3 -c "import torch; print('cuDNN version:', torch.backends.cudnn.version()); print('cuDNN enabled:', torch.backends.cudnn.enabled)"Verificar la disponibilidad de GPU
Después de instalar todos los componentes, realice una verificación exhaustiva.
Verificación a nivel del sistema
# 1. Check driver
nvidia-smi
# 2. Check CUDA
nvcc --version
# 3. Check cuDNN
ldconfig -p | grep cudnn
# 4. View detailed GPU information
nvidia-smi -q | head -50
# 5. Monitor real-time GPU status
watch -n 1 nvidia-smiPyTorch Verificación de GPU
# Install PyTorch (inside an activated virtual environment)
# pip install torch installs the wheel for the current CUDA by default;
# older drivers can pin a lower CUDA, e.g. cu126
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
# Verify GPU availability
python3 << 'EOF'
import torch
print(f"PyTorch version: {torch.__version__}")
print(f"CUDA available: {torch.cuda.is_available()}")
print(f"CUDA version: {torch.version.cuda}")
print(f"cuDNN version: {torch.backends.cudnn.version()}")
print(f"GPU count: {torch.cuda.device_count()}")
if torch.cuda.is_available():
print(f"Current GPU: {torch.cuda.get_device_name(0)}")
print(f"GPU VRAM: {torch.cuda.get_device_properties(0).total_memory / 1024**3:.1f} GB")
# Simple GPU compute test
x = torch.randn(1000, 1000, device='cuda')
y = torch.randn(1000, 1000, device='cuda')
z = torch.mm(x, y)
print(f"GPU compute test passed! Matrix multiplication result shape: {z.shape}")
else:
print("Warning: CUDA not available. Please check driver and CUDA installation")
EOFTensorFlow Verificación de GPU
# Install TensorFlow
pip install tensorflow
# Verify
python3 << 'EOF'
import tensorflow as tf
print(f"TensorFlow version: {tf.__version__}")
gpus = tf.config.list_physical_devices('GPU')
print(f"Available GPU count: {len(gpus)}")
for gpu in gpus:
print(f" GPU: {gpu.name}")
if gpus:
# Simple test
with tf.device('/GPU:0'):
a = tf.random.normal([1000, 1000])
b = tf.random.normal([1000, 1000])
c = tf.matmul(a, b)
print(f"GPU compute test passed! Matrix multiplication result shape: {c.shape}")
EOFROCm (AMD GPU) Descripción general
ROCm (Radeon Open Compute) es la plataforma informática GPU de código abierto de AMD, similar a NVIDIA de CUDA.
GPU AMD compatibles
ROCm admite principalmente la siguiente serie de GPU AMD:
- Radeon RX 7900 XTX / 7900 XT (RDNA 3)
- Radeon RX 7800 XT / 7700 XT (RDNA 3)
- Radeon PRO W7900 / W7800
- Instinct MI300X / MI250X / MI210 (centro de datos)
Instalar ROCm
Ubuntu 26.04 es la primera versión en la que puede instalar ROCm con un único comando apt. Prefiere el paquete enviado en el repositorio 26.04:
# Method 1 (recommended): use the ROCm packaged in the Ubuntu 26.04 repository
# Full runtime stack
sudo apt install -y rocm
# Or just the libraries and headers for development
# sudo apt install -y rocm-dev
# Add user to render and video groups
sudo usermod -aG render,video $USER
# Reboot
sudo rebootEl repositorio Ubuntu 26.04 incluye ROCm 7.1.0. If you need a newer version, use AMD’s official repository below and follow the current version number from AMD’s official docs.
# Method 2: install a newer version from AMD's official repository
# Check the current version at https://repo.radeon.com/rocm/apt/ and replace <version> below
# Until AMD ships an Ubuntu 26.04 (resolute) repo, the 24.04 (noble) repo can be used as a fallback
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | \
gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/<version> noble main" | \
sudo tee /etc/apt/sources.list.d/rocm.list
sudo apt update
sudo apt install -y rocm
sudo usermod -aG render,video $USER
sudo rebootVerificar ROCm
# View AMD GPU information
rocm-smi
# Check ROCm version
rocminfo | head -20
# Install PyTorch ROCm version
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.2
# Verify
python3 -c "import torch; print('ROCm available:', torch.cuda.is_available()); print('Device:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'N/A')"AMD El ecosistema de software de ROCm no es tan maduro como el de NVIDIA CUDA. Es posible que algunas herramientas de IA no sean compatibles o tengan un soporte limitado. Si su uso principal es el desarrollo de IA, las GPU NVIDIA siguen siendo la opción más segura. Sin embargo, ROCm mejora continuamente y PyTorch y varios marcos importantes ahora cuentan con un buen soporte.
Solución de problemas comunes
Problema 1: nvidia-smi no muestra resultados o presenta errores
# Check if the driver is loaded
lsmod | grep nvidia
# If no output, try reloading the driver
sudo modprobe nvidia
# Check for Secure Boot issues
mokutil --sb-state
# If Secure Boot is enabled, you may need to sign the driver or disable Secure Boot
# Check kernel logs
dmesg | grep -i nvidia
sudo journalctl -b | grep -i nvidiaProblema 2: conflictos con la versión del controlador
# Remove all NVIDIA drivers
sudo apt purge -y 'nvidia-*'
sudo apt purge -y 'libnvidia-*'
sudo apt autoremove -y
# Reboot
sudo reboot
# Reinstall
sudo ubuntu-drivers autoinstall
sudo rebootProblema 3: La versión de CUDA y PyTorch no coinciden
# Check current CUDA version
nvcc --version
# Check PyTorch expected CUDA version
python3 -c "import torch; print(torch.version.cuda)"
# If mismatched, install the PyTorch wheel for the corresponding CUDA version
# Default (current CUDA)
pip install torch
# CUDA 12.6
pip install torch --index-url https://download.pytorch.org/whl/cu126
# CUDA 12.8
pip install torch --index-url https://download.pytorch.org/whl/cu128
# Available cuXXX indexes are listed at https://pytorch.org/get-started/locally/Problema 4: GPU sin memoria (OOM)
# Check current GPU memory usage
nvidia-smi
# Find processes using the GPU
nvidia-smi --query-compute-apps=pid,name,used_memory --format=csv
# Free GPU memory (kill the occupying process)
# First confirm the process PID
kill -9 <PID>
# Clear PyTorch cache
python3 -c "import torch; torch.cuda.empty_cache()"Problema 5: Conflicto de conductores nuevos
# Nouveau is the open-source NVIDIA driver, which may conflict with the official driver
# Check if nouveau is loaded
lsmod | grep nouveau
# If there is output, disable nouveau
sudo bash -c 'cat > /etc/modprobe.d/blacklist-nouveau.conf << EOF
blacklist nouveau
options nouveau modeset=0
EOF'
# Regenerate initramfs
sudo update-initramfs -u
# Reboot
sudo rebootProblema 6: uso de GPU en contenedores Docker
# Install NVIDIA Container Toolkit
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
# Configure Docker
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# Test Docker GPU access
docker run --rm --gpus all nvidia/cuda:12.6.0-base-ubuntu24.04 nvidia-smi
# Tip: nvidia/cuda image tags are organized by CUDA version and base OS;
# pick an existing tag at https://hub.docker.com/r/nvidia/cuda/tagsDespués de instalar los controladores NVIDIA, recomendamos instalar NVIDIA Container Toolkit inmediatamente. This allows you to use GPU acceleration when running AI tools in Docker containers (such as Open WebUI, ComfyUI, etc.) without configuring drivers separately inside the container.
Guión de instalación completo
El siguiente script consolida todo el proceso de configuración del entorno de GPU:
#!/bin/bash
# gpu-setup.sh -- Ubuntu 26.04 NVIDIA GPU Environment One-Click Setup
set -e
echo "=== 1. Install NVIDIA Driver ==="
sudo apt update
sudo ubuntu-drivers autoinstall
echo "=== 2. Install CUDA Toolkit (Ubuntu 26.04 repository) ==="
sudo apt install -y cuda-toolkit
echo "=== 3. (Optional) For a newer version from the NVIDIA repository, use the following instead ==="
# wget -q https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2604/x86_64/cuda-keyring_1.1-1_all.deb
# sudo dpkg -i cuda-keyring_1.1-1_all.deb
# sudo apt update
# sudo apt install -y cuda-toolkit-XX-Y # replace with an actual available version
echo "=== 4. Install cuDNN ==="
sudo apt install -y cudnn9-cuda-12
echo "=== 5. Configure Environment Variables ==="
if ! grep -q "CUDA_HOME" ~/.bashrc; then
cat >> ~/.bashrc << 'ENVEOF'
# CUDA Environment
export CUDA_HOME=/usr/local/cuda
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
ENVEOF
fi
echo "=== 6. Install NVIDIA Container Toolkit ==="
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
echo ""
echo "=== Installation Complete! ==="
echo "Please reboot and then run nvidia-smi and nvcc --version to verify."
echo "Reboot command: sudo reboot"# Save and run the script
chmod +x gpu-setup.sh
./gpu-setup.sh