Come utilizzare la GPU NVIDIA nei contenitori Docker su Ubuntu 22.04 LTS

Come Utilizzare La Gpu Nvidia Nei Contenitori Docker Su Ubuntu 22 04 Lts



Puoi eseguire il passthrough della tua GPU NVIDIA nei container Docker ed eseguire i programmi CUDA sulla tua GPU NVIDIA da questi container Docker. Questa è una funzione molto utile per l'apprendimento dell'IA (Intelligenza Artificiale). Essere in grado di eseguire codici AI (ad es. Tensorflow) su container 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.

Giocherellare con i driver NVIDIA e le versioni CUDA sul tuo computer può causare problemi come il mancato funzionamento dei driver NVIDIA o lasciarti con una schermata nera/blu della morte. Pertanto, è sempre una buona idea lasciare il sistema così com'è e apportare modifiche in un ambiente isolato come i container Docker. Ciò mantiene pulito il tuo computer principale (da strumenti di sviluppo non necessari).







In questo articolo, ti mostrerò come configurare Docker CE e NVIDIA docker su Ubuntu 22.04 LTS in modo da poter accedere alla GPU NVIDIA del tuo computer dai container Docker ed eseguire programmi CUDA sulla tua GPU NVIDIA.



Sommario:

  1. Verifica se i driver GPU NVIDIA ufficiali sono installati su Ubuntu 22.04
  2. Installazione delle dipendenze di Docker CE su Ubuntu 22.04
  3. Installazione delle chiavi GPG Docker CE su Ubuntu 22.04
  4. Installazione del repository Docker CE su Ubuntu 22.04
  5. Installazione di Docker CE su Ubuntu 22.04
  6. Aggiunta dell'utente di accesso LTS Ubuntu 22.04 al gruppo docker
  7. Verificare se Docker CE è stato installato correttamente su Ubuntu 22.04
  8. Installazione delle chiavi GPG di NVIDIA Container Toolkit su Ubuntu 22.04
  9. Installazione del repository NVIDIA Container Toolkit su Ubuntu 22.04
  10. Installazione dei driver nvidia-docker su Ubuntu 22.04
  11. Verifica se la GPU NVIDIA è accessibile dai contenitori Docker in Ubuntu 22.04
  12. Conclusione
  13. Riferimenti

Verifica se i driver GPU NVIDIA ufficiali sono installati su Ubuntu 22.04 LTS:

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



$ lspci | egrep -io 'vga|3d|display'





In questo caso, ho la GPU NVIDIA GTX 1050 Ti installata sul mio 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 Ubuntu 22.04 con il seguente comando:



$ lsmod | presa nvidia

Se i driver NVIDIA ufficiali sono installati sul tuo sistema operativo Ubuntu 22.04, vedrai i seguenti output.


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

$ nvidia-smi

Se i driver GPU NVIDIA ufficiali funzionano, vedrai i seguenti output. Come puoi vedere, ho installato la versione 525.78.01 del driver GPU NVIDIA ufficiale sulla mia macchina Ubuntu 22.04.


Se non hai i driver GPU NVIDIA ufficiali installati sulla tua macchina Ubuntu 22.04 e hai bisogno di assistenza, controlla l'articolo .

Installazione delle dipendenze di Docker CE su Ubuntu 22.04 LTS:

Prima di poter installare Docker CE su Ubuntu 22.04, dovrai installare i pacchetti di dipendenza Docker CE richiesti su Ubuntu 22.04.

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

$ sudo aggiornamento appropriato

La cache del repository del pacchetto APT dovrebbe essere aggiornata.


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

$ sudo apt-get install ca-certificates curl gnupg lsb-release

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


I pacchetti di dipendenza Docker CE richiesti devono essere installati.

Installazione delle chiavi GPG di Docker CE su Ubuntu 22.04 LTS:

In questa sezione, ti mostrerò come installare la chiave GPG del repository di pacchetti Docker CE su Ubuntu 22.04.

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

$ sudo mkdir -P / eccetera / adatto / portachiavi

Per installare la chiave GPG del repository di pacchetti Docker CE su Ubuntu 22.04, eseguire il seguente comando:

$ arricciare -fSL https: // download.docker.com / Linux / ubuntu / gpg | sudo gpg --caro -O / eccetera / adatto / portachiavi / docker.gpg

Installazione del repository Docker CE su Ubuntu 22.04 LTS:

Per installare il repository di pacchetti Docker CE su Ubuntu 22.04, eseguire il seguente comando:

$ eco 'deb [arco= $(dpkg --print-architettura) firmato-da=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stabile' | sudo tee / eccetera / adatto / fonti.elenco.d / docker.list > / dev / nullo

Aggiorna la cache del repository del pacchetto APT per rendere effettive le modifiche.

$ sudo aggiornamento appropriato


Installazione di Docker CE su Ubuntu 22.04 LTS:

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

$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

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


È in corso il download di Docker CE e dei pacchetti di dipendenza richiesti. Ci vorrà del tempo per completare.


Docker CE e i pacchetti di dipendenza richiesti vengono installati. Ci vorrà del tempo per completare.


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

Aggiunta dell'utente di accesso LTS di Ubuntu 22.04 al gruppo docker:

Per creare contenitori Docker e gestirli senza utilizzare sudo o accedere come utente root, dovrai aggiungere il tuo utente di accesso al docker gruppo.

Per aggiungere l'utente di accesso di Ubuntu 22.04 al file docker gruppo, esegui il seguente comando:

$ sudo usermod -aG docker $ ( chi sono )

Affinché le modifiche abbiano effetto, riavvia il computer con il seguente comando:

$ sudo riavviare

Verifica se Docker CE è stato installato correttamente su Ubuntu 22.04 LTS:

Una volta avviato il computer, esegui il seguente comando per verificare di poter accedere a Docker senza privilegi di superutente.

$ versione mobile

Se tutto funziona, dovresti vedere i seguenti output.

Come puoi vedere, sto eseguendo Docker versione 20.10.23, l'ultima versione di Docker CE al momento della stesura di questo documento.

Installazione delle chiavi GPG di NVIDIA Container Toolkit su Ubuntu 22.04:

In questa sezione, ti mostrerò come installare la chiave GPG del repository di pacchetti NVIDIA Container Toolkit su Ubuntu 22.04.

Per installare la chiave GPG del repository del pacchetto NVIDIA Container Toolkit su Ubuntu 22.04, eseguire il seguente comando:

$ arricciare -fSL https: // nvidia.github.io / libnvidia-contenitore / gpgkey | sudo gpg --caro -O / usr / condividere / portachiavi / nvidia-container-toolkit-keyring.gpg

Installazione del repository NVIDIA Container Toolkit su Ubuntu 22.04 LTS:

In questa sezione, ti mostrerò come installare il repository di pacchetti NVIDIA Container Toolkit su Ubuntu 22.04.

Innanzitutto, crea un nuovo file sorgente APT nvidia-container-toolkit.list nel /etc/apt/sources.list.d/ rubrica come segue:

$ sudo nano / eccetera / adatto / fonti.elenco.d / nvidia-container-toolkit.list

Nel nvidia-container-toolkit.list file, aggiungere la riga seguente e premere + X seguito da E E per salvare il file.

Quello [ firmato-da= / usr / condividere / portachiavi / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-contenitore / stabile / gratuito22.04 / $ ( ARCO ) /



Se stai usando Ubuntu 20.04 LTS, tutto ciò che devi fare è aggiungere la seguente riga nel nvidia-container-toolkit.list file invece e tutto il resto dovrebbe funzionare invariato.

Quello [ firmato-da= / usr / condividere / portachiavi / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-contenitore / stabile / gratuito20.04 / $ ( ARCO ) /


Se stai usando Ubuntu 18.04 LTS, tutto ciò che devi fare è aggiungere la seguente riga nel nvidia-container-toolkit.list file invece e tutto il resto dovrebbe funzionare invariato.

Quello [ firmato-da= / usr / condividere / portachiavi / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-contenitore / stabile / gratuito18.04 / $ ( ARCO ) /


Affinché le modifiche abbiano effetto, aggiornare la cache del repository del pacchetto APT con il seguente comando:

$ sudo aggiornamento appropriato


Installazione dei driver nvidia-docker su Ubuntu 22.04 LTS:

Per installare i driver NVIDIA Docker su Ubuntu 22.04, eseguire il seguente comando:

$ sudo adatto installare nvidia-docker2

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


I driver della finestra mobile NVIDIA devono essere installati.


Affinché le modifiche abbiano effetto, riavvia il computer con il seguente comando:

$ sudo riavviare

Verifica se la GPU NVIDIA è accessibile dai contenitori Docker in Ubuntu 22.04 LTS:

In questa sezione, ti mostrerò come creare un file Contenitore Docker NVIDIA CUDA e verifica 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 eseguire il file nvidia-smi comando in esso una volta creato per verificare se può accedere alla GPU NVIDIA dal tuo computer, esegui il seguente comando:

$ corsa del docker --rm --gpus tutto NVIDIA / cuda:12.0.0-base-ubuntu20.04 nvidia-smi

Docker sta tirando il nvidia/cuda:12.0.0-base-ubuntu20.04 immagine da Docker Hub. Ci vorrà del tempo per completare.


Una volta estratto l'immagine docker NVIDIA CUDA e creato un contenitore, il file nvidia-smi il comando verrà eseguito su di esso e stamperà l'output sulla console come puoi vedere nello screenshot qui sotto.

Il contenitore Docker utilizza il file Driver GPU NVIDIA 525.78.01 [1] e il CUDA versione 12.0 [2] . Se vedi output simili, il contenitore Docker può accedere alla GPU NVIDIA del tuo computer.


Se è necessario utilizzare versioni precedenti di CUDA, controllare .

Conclusione:

In questo articolo, ti ho mostrato come configurare il repository di pacchetti Docker CE su Ubuntu 22.04. Ti ho anche mostrato come installare l'ultima versione di Docker CE su Ubuntu 22.04. Ti ho mostrato come installare il repository di pacchetti NVIDIA Container Toolkit su Ubuntu 22.04 e come installare il driver NVIDIA Docker su Ubuntu 22.04. Infine, ti ho mostrato come accedere alla GPU NVIDIA del tuo computer da un contenitore Docker.

Riferimenti: