~sergio

ARTIGOS

Preparar Debian/Ubuntu para CUDA e Docker

29-03-2023

O obxectivo é prepara un servidor con unha ou varias gráficas NVIDIA para usar Docker con CUDA.

Paso 1: Instalar dependencias básicas

Directamente desde o repositorio:
sudo apt update && sudo apt upgrade
sudo apt install -y build-essential linux-headers-$(uname -r)

Paso 2: Instalar os drivers NVIDIA

Key do repo:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
Paquete:
sudo apt update && sudo apt -y install cuda-drivers

Paso 3: Instalación do Docker

sudo apt -y install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"
sudo apt update
sudo apt -y install docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
sudo reboot

Paso 4: Instalación do nvidia-container-toolkit

Solo nos falta instalar o toolkit de nvidia para poder ter CUDA no Docker:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt update && sudo apt -y install nvidia-container-toolkit
sudo systemctl restart docker
A partir deste paso xa se pode probar:
docker run --gpus all --pid host nvidia/cuda:10.2-runtime nvidia-smi
I esto é todo, si se executou ben este último comando xa estaría listo.