Come utilizzare la GPU Nvidia nei contenitori Docker su Debian Top 10

Come utilizzare la GPU Nvidia nei contenitori Docker su Debian Top 10
Puoi passthrough la tua GPU Nvidia nei contenitori Docker ed eseguire i programmi CUDA sulla tua GPU NVIDIA da questi contenitori Docker. Questa è una caratteristica molto utile per l'apprendimento dell'IA (intelligenza artificiale). Essere in grado di ruan i codici AI (i.e. Tensorflow) sui contenitori Docker ti farà risparmiare molto tempo. Puoi anche provare i tuoi codici AI su diverse versioni CUDA senza dover cambiare la versione CUDA sul tuo computer.

Presero con driver Nvidia e versioni CUDA sul tuo computer può causare problemi come i driver Nvidia che non funzionano o lasciarti con uno schermo di morte nero/blu. È sempre una buona idea lasciare il tuo sistema così com'è e apportare modifiche in un ambiente isolato come i contenitori Docker. Questo mantiene il tuo computer principale pulito (di strumenti di sviluppo inutili).

In questo articolo, ti mostreremo come installare Docker CE e Nvidia Docker su Debian 11 in modo da poter accedere alla GPU NVIDIA del tuo computer dai container Docker ed eseguire i programmi CUDA sulla tua GPU NVIDIA.

Sommario:

  1. Verifica se i driver GPU NVIDIA ufficiali sono installati su Debian 11
  2. Installazione delle dipendenze Docker CE da Debian 11
  3. Installazione delle chiavi Docker CE GPG su Debian 11
  4. Installazione del repository Docker CE su Debian 11
  5. Installazione del Docker CE su Debian 11
  6. Aggiunta dell'utente di accesso a Debian 11 al gruppo Docker
  7. Verifica se il Docker CE è installato correttamente su Debian 11
  8. Installazione delle chiavi GPG del contenitore NVIDIA su Debian 11
  9. Installazione del repository di toolkit del contenitore Nvidia su Debian 11
  10. Installazione dei driver Nvidia-Docker su Debian 11
  11. Verifica se la GPU Nvidia è accessibile dai container Docker su Debian 11
  12. Conclusione
  13. Riferimenti

Verifica se i driver GPU NVIDIA ufficiali sono installati su Debian 11

Prima di iniziare, eseguire il seguente comando per verificare di avere una GPU NVIDIA installata sul tuo computer:

$ lspci | grep vga

In questo caso, abbiamo la GPU Nvidia GTX 1050 TI installata sul nostro computer. Molto probabilmente avrai una GPU Nvidia diversa installata sul tuo computer.

Inoltre, assicurati di avere i driver Nvidia ufficiali installati sul tuo sistema operativo Debian 11 con il seguente comando:

$ lsmod | grep nvidia

Se i driver Nvidia ufficiali sono installati sul tuo sistema operativo Debian 11, vedrai i seguenti output:

Inoltre, controlla se i driver GPU NVIDIA ufficiali stanno lavorando con il seguente comando:

$ nvidia-smi

Se i driver GPU Nvidia ufficiali funzionano, vedrai i seguenti output. Come puoi vedere, abbiamo il driver GPU NVIDIA ufficiale versione 470.161.03 installato sulla nostra macchina Debian 11:

Se non hai i driver GPU NVIDIA ufficiali installati sulla macchina Debian 11 e hai bisogno di assistenza per questo, controlla l'articolo su come installare i driver Nvidia su Debian 11.

Installazione delle dipendenze Docker CE da Debian 11

Prima di poter installare Docker CE su Debian 11, è necessario installare i pacchetti di dipendenza Docker CE richiesti su Debian 11.

Innanzitutto, aggiorna la cache del repository del pacchetto APT con il seguente comando:

$ sudo apt update

La cache del repository del pacchetto APT deve essere aggiornata.

Per installare i pacchetti di dipendenza richiesti di Docker CE, eseguire il seguente comando:

$ sudo apt-get Installa certificati CA Curl gnupg LSB-release

Per confermare l'installazione, premere Y e quindi premere .

I pacchetti di dipendenza Docker CE richiesti devono essere installati.

Installazione delle chiavi Docker CE GPG su Debian 11

In questa sezione, ti mostreremo come installare la chiave gpg del repository pacchetti Docker CE su Debian 11.

Innanzitutto, crea una nuova cartella/etc/apt/keyrings con il seguente comando:

$ sudo mkdir -p/etc/apt/keyrings

Per installare la chiave GPG del repository pacchetti Docker CE su Debian 11, eseguire il seguente comando:

$ CURL -FSSL https: // download.Docker.com/linux/debian/gpg | Sudo GPG - -DEARMOR -O/ETC/APT/KEYRINGS/Docker.gpg

Installazione del repository Docker CE su Debian 11

Per installare il repository dei pacchetti Docker CE su Debian 11, eseguire il seguente comando:

$ echo "deb [arch = $ (dpkg --print-architecture) firmato da =/etc/apt/keyrings/docker.gpg] https: // download.Docker.com/linux/debian $ (lsb_release -cs) stabile "| sudo tee/etc/apt/fonti.elenco.D/Docker.Elenco> /dev /null

Aggiorna la cache del repository del pacchetto APT per le modifiche per avere effetto.

$ sudo apt update

Installazione del Docker CE su Debian 11

Per installare l'ultima versione di Docker CE su Debian 11, eseguire il seguente comando:

$ sudo apt-get install docker-ce docker-ce-cli containerd.IO Docker-Opgin-Plugin

Per confermare l'installazione, premere Y e quindi premere .

Vengono scaricati il ​​Docker CE e i pacchetti di dipendenza richiesti. Ci vuole un po 'di tempo per completare.

Vengono installati il ​​Docker CE e i pacchetti di dipendenza richiesti. Ci vuole un po 'di tempo per completare.

Docker CE e i pacchetti di dipendenza richiesti devono essere installati a questo punto.

Aggiunta dell'utente di accesso a Debian 11 al gruppo Docker

Per creare i contenitori Docker e gestirli senza utilizzare sudo o senza accedere come utente root, è necessario aggiungere l'utente di accesso al gruppo Docker.

Per aggiungere l'utente di accesso del tuo Debian 11 al gruppo Docker, eseguire il seguente comando:

$ sudo usermod -ag docker $ (whoami)

Per avere effetto le modifiche, riavviare il computer con il seguente comando:

$ sudo riavvia

Verifica se il Docker CE è installato correttamente su Debian 11

Una volta avviato il computer, eseguire il seguente comando per verificare che tu possa accedere al docker senza privilegi superuser:

$ Docker versione

Se tutto funziona, dovresti vedere i seguenti output.

Come puoi vedere, stiamo eseguendo la versione 20.10.23 - L'ultima versione di Docker CE al momento della stesura.

Installazione delle chiavi GPG del contenitore NVIDIA su Debian 11

In questa sezione, ti mostreremo come installare la chiave gpg del repository pacchetti di toolkit contenitore Nvidia su Debian 11.

Per installare la chiave GPG del repository pacchetto toolkit Nvidia Container Toolkit su Debian 11, eseguire il seguente comando:

$ CURL -FSSL https: // nvidia.github.IO/libnvidia-contener/gpgkey | Sudo GPG--DEARMOR -O/usr/share/keyrings/nvidia-contener-toolkit-keyring.gpg

Installazione del repository di toolkit del contenitore Nvidia su Debian 11

In questa sezione, ti mostreremo come installare il repository dei pacchetti toolkit NVIDIA su Debian 11.

Innanzitutto, crea un nuovo file di origine APT Nvidia-contener-toolkit.Elenco in/etc/apt/fonti.elenco.D/ directory come segue:

$ sudo nano/etc/apt/fonti.elenco.d/nvidia-contener-toolkit.elenco

Nel toolkit Nvidia-contener.Elenca il file, aggiungi la riga seguente e premi + x seguito da Y e per salvare il file:

Deb [firmato per =/usr/share/keyrings/nvidia-contener-toolkit-keyring.gpg] https: // nvidia.github.io/libnvidia-container/stable/debian11/$ (arch)/

Per avere effetto sulle modifiche, aggiorna la cache del repository del pacchetto APT con il seguente comando:

$ sudo apt update

Installazione dei driver Nvidia-Docker su Debian 11

Per installare i driver Docker Nvidia su Debian 11, eseguire il seguente comando:

$ sudo apt Installa nvidia-docker2

Per confermare l'installazione, premere Y e quindi premere .

I driver Docker Nvidia devono essere installati.

Per avere effetto le modifiche, riavviare il computer con il seguente comando:

$ sudo riavvia

Verifica se Nvidia GPU è accessibile dai container Docker su Debian 11

In questa sezione, ti mostreremo come creare un contenitore Docker CUDA NVIDIA e verificare che il contenitore possa accedere alla GPU NVIDIA dal tuo computer.

Per creare un contenitore Docker Nvidia CUDA 12 basato su Ubuntu 20.04 LTS ed Esegui il comando Nvidia-SMI in esso creato per verificare se può accedere alla GPU NVIDIA dal tuo computer, eseguire il comando seguente:

$ Docker Run - -RM --gpus All Nvidia/Cuda: 12.0.0-Base-Obuntu20.04 Nvidia-SMI

Docker sta tirando Nvidia/Cuda: 12.0.0-Base-Obuntu20.04 Immagine dall'hub Docker. Ci vuole un po 'di tempo per completare.

Una volta che l'immagine Nvidia Cuda Docker viene tirata e viene creata un contenitore, il comando Nvidia-SMI funziona su di essa e stampa l'output sulla console come puoi vedere nella seguente screenshot:

Il contenitore Docker utilizza il driver GPU NVIDIA 525.78.01[1] e la versione 12 CUDA.0[2]. Se vedi alcuni output simili, il contenitore Docker può accedere alla GPU NVIDIA del tuo computer.

Se è necessario utilizzare le versioni precedenti di CUDA, controlla l'immagine Nvidia/CUDA nell'hub Docker.

Conclusione

Ti abbiamo mostrato come installare il repository dei pacchetti Docker CE su Debian 11. Ti abbiamo anche mostrato come installare l'ultima versione di Docker CE su Debian 11. Ti abbiamo mostrato come installare il repository del pacchetto toolkit NVIDIA su Debian 11 e come installare il driver Nvidia Docker su Debian 11. Infine, ti abbiamo mostrato come accedere alla GPU NVIDIA del tuo computer da un contenitore Docker.

Riferimenti:

  1. https: // docs.nvidia.com/datacenter/cloud-nativo/container-toolkit/install-guide.html
  2. https: // hub.Docker.com/r/nvidia/cuda/tag