Si vas a trabajar con GPGPU y quieres comenzar a desarrollar tus primeros proyectos de código para ser ejecutados o acelerados por tu GPU de NVIDIA, entonces te interesará conocer cómo puedes instalar CUDA en tu distribución Linux paso a paso y de forma fácil.
Índice de contenidos
Para que CUDA funcione en tu distro Linux, primero debes cumplir una serie de requisitos:
lspci | grep -i nvidia
Te recomiendo leer sobre qué es GPGPU
Como para trabajar con CUDA necesitas los drivers propietarios de NVIDIA, tendrás que instalarlos en tu distro, no valen los de código abierto. Por tanto, sigue estos pasos según la distro que tengas:
Con Ubuntu, cualquiera de sus sabores, u otras derivadas, abre el terminal y ejecuta los siguientes comandos, sustituyendo nvidia-driver-xxx por la versión que necesites del driver según la versión de CUDA:
sudo apt update sudo apt install nvidia-driver-535 sudo reboot nvidia-smi
En caso de tener una distribución Debian o derivadas, puedes hacerlo así:
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
sudo apt update sudo apt install nvidia-driver firmware-misc-nonfree sudo reboot
En el caso de tener Fedora o alguna de sus spins, haz esto:
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm sudo dnf install akmod-nvidia sudo dnf install xorg-x11-drv-nvidia-cuda sudo reboot
Para Red Hat Enterprise Linux, prueba a habilitar el repo EPEL, y luego con:
sudo dnf install epel-release sudo dnf install nvidia-driver nvidia-driver-libs nvidia-driver-cuda sudo reboot
En entornos corporativos, suele usarse el instalador oficial .run de NVIDIA para mayor control, y que puedes descargar de la web oficial de NVIDIA, desde la zona de drivers.
Para SUSE y openSUSE, o derivados, puedes ejecutar estos otros comandos:
sudo zypper addrepo --refresh https://download.nvidia.com/opensuse/leap/15.6 NVIDIA sudo zypper install --recommends nvidia-driver-G06 sudo reboot
También te puede interesar conocer cuáles son las mejores GPUs
Para instalar CUDA Toolkit, puedes utilizar un Runfile, es decir, un binario .run que puedes descargar desde la web oficial de NVIDIA, hacerlo ejecutable e instalarlo. Para ello:
Verás un asistente de instalación similar a los de Windows…
Una vez instalado, en el set de herramientas de NVIDIA encontrarás:
Una vez ya tienes todo, tanto los drivers como el toolkit, lo siguiente es preparar el entorno con las variables para comenzar a programar. En este caso:
export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
source ~/.bashrc
Compila y ejecuta un ejemplo:
cd /usr/local/cuda/samples sudo make ./bin/x86_64/linux/release/deviceQuery
Si ves información de tu GPU y estado “PASS”, la instalación fue exitosa.
Según el trabajo que vayas a realizar, puede que necesites instalar otros paquetes o frameworks, por ejemplo, para poder programar en diferentes lenguajes de programación, etc. Algunos interesantes que te recomiendo mirar son:
Como ejemplo, un Hola Mundo para comenzar con CUDA sería así:
#include <iostream>
#include <cuda_runtime.h>
// Kernel CUDA: se ejecuta en la GPU
__global__ void holaMundoKernel() {
printf("Hola Mundo desde la GPU!\n");
}
int main() {
// Lanza el kernel con 1 bloque y 1 hilo
holaMundoKernel<<<1, 1>>>();
// Espera a que la GPU termine
cudaDeviceSynchronize();
std::cout << "Hola Mundo desde la CPU!" << std::endl;
return 0;
} nvcc prueba-gpgpu.cu -o hola_mundo
./hola_mundo
Aunque parezca un Hola Mundo normal y corriente, va a generar dos mensajes de salida en el terminal. Uno mediante la CPU, y otro usando la GPU para propósito general y generar la otra impresión.
Si tienes dudas o comentarios, ya sabes…
El pasado mes de marzo, NVIDIA anunció DLSS 5, la nueva versión de su tecnología…
SK hynix ha lanzado una advertencia poco habitual desde dentro de la propia industria. Chey…
Poco después de que Valve anunciase la Steam Machine, recordaréis que la marca Dbrand anunció…