Cum să utilizați GPU-ul NVIDIA în containerele Docker pe Ubuntu 22.04 LTS

Cum Sa Utilizati Gpu Ul Nvidia In Containerele Docker Pe Ubuntu 22 04 Lts



Puteți trece prin GPU-ul dvs. NVIDIA în containerele Docker și puteți rula programe CUDA pe GPU-ul dvs. NVIDIA din aceste containere Docker. Aceasta este o caracteristică foarte utilă pentru a învăța AI (Inteligenta Artificială). Posibilitatea de a rula coduri AI (adică Tensorflow) pe containerele Docker vă va economisi mult timp. De asemenea, puteți încerca codurile AI pe diferite versiuni CUDA fără a fi nevoie să schimbați versiunea CUDA pe computer.

Folosirea driverelor NVIDIA și a versiunilor CUDA de pe computer poate cauza probleme precum driverele NVIDIA care nu funcționează sau vă lasă cu un ecran negru/albastru al morții. Prin urmare, este întotdeauna o idee bună să vă lăsați sistemul așa cum este și să faceți modificări într-un mediu izolat, cum ar fi containerele Docker. Acest lucru vă păstrează computerul principal curat (de instrumente de dezvoltare inutile).







În acest articol, vă voi arăta cum să configurați Docker CE și NVIDIA docker pe Ubuntu 22.04 LTS, astfel încât să puteți accesa GPU-ul NVIDIA al computerului dvs. din containerele Docker și să rulați programe CUDA pe GPU-ul dvs. NVIDIA.



Cuprins:

  1. Verificarea dacă driverele oficiale NVIDIA GPU sunt instalate pe Ubuntu 22.04
  2. Instalarea dependențelor Docker CE pe Ubuntu 22.04
  3. Instalarea cheilor Docker CE GPG pe Ubuntu 22.04
  4. Instalarea Docker CE Repository pe Ubuntu 22.04
  5. Instalarea Docker CE pe Ubuntu 22.04
  6. Adăugarea utilizatorului de conectare Ubuntu 22.04 LTS la grupul docker
  7. Verificarea dacă Docker CE a fost instalat corect pe Ubuntu 22.04
  8. Instalarea cheilor GPG NVIDIA Container Toolkit pe Ubuntu 22.04
  9. Instalarea depozitului NVIDIA Container Toolkit pe Ubuntu 22.04
  10. Instalarea driverelor nvidia-docker pe Ubuntu 22.04
  11. Verificarea dacă GPU-ul NVIDIA este accesibil din containerele Docker în Ubuntu 22.04
  12. Concluzie
  13. Referințe

Verificarea dacă driverele oficiale NVIDIA GPU sunt instalate pe Ubuntu 22.04 LTS:

Înainte de a începe, rulați următoarea comandă pentru a verifica dacă aveți un GPU NVIDIA instalat pe computer.



$ lspci | egrep -i „vga|3d|display”





În acest caz, am GPU NVIDIA GTX 1050 Ti instalat pe computer. Cel mai probabil veți avea un alt GPU NVIDIA instalat pe computer.


De asemenea, asigurați-vă că aveți driverele oficiale NVIDIA instalate pe sistemul dumneavoastră de operare Ubuntu 22.04 cu următoarea comandă:



$ lsmod | prindere nvidia

Dacă driverele oficiale NVIDIA sunt instalate pe sistemul dumneavoastră de operare Ubuntu 22.04, veți vedea următoarele rezultate.


De asemenea, verificați dacă driverele oficiale NVIDIA GPU funcționează cu următoarea comandă:

$ nvidia-smi

Dacă driverele oficiale NVIDIA GPU funcționează, veți vedea următoarele ieșiri. După cum puteți vedea, am versiunea oficială a driverului GPU NVIDIA 525.78.01 instalată pe mașina mea Ubuntu 22.04.


Dacă nu aveți driverele oficiale NVIDIA GPU instalate pe computerul dvs. Ubuntu 22.04 și aveți nevoie de asistență în acest sens, vă rugăm să verificați articolul .

Instalarea dependențelor Docker CE pe Ubuntu 22.04 LTS:

Înainte de a putea instala Docker CE pe Ubuntu 22.04, va trebui să instalați pachetele necesare de dependență Docker CE pe Ubuntu 22.04.

Mai întâi, actualizați memoria cache a depozitului de pachete APT cu următoarea comandă:

$ sudo actualizare apt

Cache-ul depozitului de pachete APT ar trebui să fie actualizat.


Pentru a instala pachetele de dependență necesare ale Docker CE, rulați următoarea comandă:

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

Pentru a confirma instalarea, apăsați ȘI și apoi apăsați .


Pachetele de dependență Docker CE necesare trebuie instalate.

Instalarea tastelor Docker CE GPG pe Ubuntu 22.04 LTS:

În această secțiune, vă voi arăta cum să instalați cheia GPG a depozitului de pachete Docker CE pe Ubuntu 22.04.

Mai întâi, creați un folder nou /etc/apt/keyrings cu următoarea comandă:

$ sudo mkdir -p / etc / apt / brelocuri

Pentru a instala cheia GPG a depozitului de pachete Docker CE pe Ubuntu 22.04, executați următoarea comandă:

$ răsuci -fsSL https: // download.docker.com / linux / ubuntu / gpg | sudo gpg --dearmor -O / etc / apt / brelocuri / docker.gpg

Instalarea Docker CE Repository pe Ubuntu 22.04 LTS:

Pentru a instala depozitul de pachete Docker CE pe Ubuntu 22.04, executați următoarea comandă:

$ ecou „deb [arh= $(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) grajd' | sudo tricou / etc / apt / sursele.lista.d / docker.list > / dev / nul

Actualizați memoria cache a depozitului de pachete APT pentru ca modificările să intre în vigoare.

$ sudo actualizare apt


Instalarea Docker CE pe Ubuntu 22.04 LTS:

Pentru a instala cea mai recentă versiune de Docker CE pe Ubuntu 22.04, executați următoarea comandă:

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

Pentru a confirma instalarea, apăsați ȘI și apoi apăsați .


Docker CE și pachetele de dependențe necesare sunt în curs de descărcare. Va dura ceva timp pentru a finaliza.


Docker CE și pachetele de dependențe necesare sunt în curs de instalare. Va dura ceva timp pentru a finaliza.


Docker CE și pachetele de dependență necesare ar trebui să fie instalate în acest moment.

Adăugarea utilizatorului de conectare Ubuntu 22.04 LTS la grupul docker:

Pentru a crea containere Docker și a le gestiona fără a utiliza sudo sau a vă autentifica ca utilizator root, va trebui să adăugați utilizatorul de conectare la docher grup.

Pentru a adăuga utilizatorul de conectare al Ubuntu 22.04 la docher grup, rulați următoarea comandă:

$ sudo usermod -aG docker $ ( cine sunt )

Pentru ca modificările să aibă efect, reporniți computerul cu următoarea comandă:

$ sudo reporniți

Verificarea dacă Docker CE a fost instalat corect pe Ubuntu 22.04 LTS:

Odată ce computerul pornește, rulați următoarea comandă pentru a verifica dacă puteți accesa Docker fără privilegii de superutilizator.

$ versiunea docker

Dacă totul funcționează, ar trebui să vedeți următoarele rezultate.

După cum puteți vedea, rulez Docker versiunea 20.10.23 – cea mai recentă versiune a Docker CE la momentul scrierii acestui articol.

Instalarea cheilor GPG NVIDIA Container Toolkit pe Ubuntu 22.04:

În această secțiune, vă voi arăta cum să instalați cheia GPG a depozitului de pachete NVIDIA Container Toolkit pe Ubuntu 22.04.

Pentru a instala cheia GPG a depozitului de pachete NVIDIA Container Toolkit pe Ubuntu 22.04, rulați următoarea comandă:

$ răsuci -fsSL https: // nvidia.github.io / libnvidia-container / gpgkey | sudo gpg --dearmor -O / usr / acțiune / brelocuri / nvidia-container-toolkit-keyring.gpg

Instalarea depozitului NVIDIA Container Toolkit pe Ubuntu 22.04 LTS:

În această secțiune, vă voi arăta cum să instalați depozitul de pachete NVIDIA Container Toolkit pe Ubuntu 22.04.

Mai întâi, creați un nou fișier sursă APT nvidia-container-toolkit.list în /etc/apt/sources.list.d/ director după cum urmează:

$ sudo nano / etc / apt / sursele.lista.d / nvidia-container-toolkit.list

În nvidia-container-toolkit.list fișier, adăugați următoarea linie și apăsați + X urmată de ȘI și pentru a salva fișierul.

acea [ semnat de= / usr / acțiune / brelocuri / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-container / grajd / liber22.04 / $ ( ARC ) /



Dacă utilizați Ubuntu 20.04 LTS, atunci tot ce trebuie să faceți este să adăugați următoarea linie în nvidia-container-toolkit.list în schimb, și totul ar trebui să funcționeze neschimbat.

acea [ semnat de= / usr / acțiune / brelocuri / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-container / grajd / liber20.04 / $ ( ARC ) /


Dacă utilizați Ubuntu 18.04 LTS, atunci tot ce trebuie să faceți este să adăugați următoarea linie în nvidia-container-toolkit.list în schimb, și totul ar trebui să funcționeze neschimbat.

acea [ semnat de= / usr / acțiune / brelocuri / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-container / grajd / liber18.04 / $ ( ARC ) /


Pentru ca modificările să intre în vigoare, actualizați memoria cache a depozitului de pachete APT cu următoarea comandă:

$ sudo actualizare apt


Instalarea driverelor nvidia-docker pe Ubuntu 22.04 LTS:

Pentru a instala driverele NVIDIA Docker pe Ubuntu 22.04, executați următoarea comandă:

$ sudo apt instalare nvidia-docker2

Pentru a confirma instalarea, apăsați ȘI și apoi apăsați .


Ar trebui instalate driverele NVIDIA docker.


Pentru ca modificările să aibă efect, reporniți computerul cu următoarea comandă:

$ sudo reporniți

Verificarea dacă GPU-ul NVIDIA este accesibil din containerele Docker în Ubuntu 22.04 LTS:

În această secțiune, vă voi arăta cum să creați un Container NVIDIA CUDA Docker și verificați dacă containerul poate accesa GPU-ul NVIDIA de pe computer.

Pentru a crea un container NVIDIA CUDA 12 Docker bazat pe Ubuntu 20.04 LTS și a rula nvidia-smi odată ce este creată pentru a verifica dacă poate accesa GPU-ul NVIDIA de pe computer, executați următoarea comandă:

$ docker run --rm --gpus toate Nvidia / cuda:12.0.0-base-ubuntu20.04 nvidia-smi

Docker trage de nvidia/cuda:12.0.0-base-ubuntu20.04 imagine de la Docker Hub. Va dura ceva timp pentru a finaliza.


Odată ce imaginea docker NVIDIA CUDA este extrasă și este creat un container, nvidia-smi comanda va rula pe ea și va imprima rezultatul pe consolă, așa cum puteți vedea în captura de ecran de mai jos.

Containerul Docker folosește Driver GPU NVIDIA 525.78.01 [1] si CUDA versiunea 12.0 [2] . Dacă vedeți ieșiri similare, atunci containerul Docker poate accesa GPU-ul NVIDIA al computerului dvs.


Dacă trebuie să utilizați versiuni mai vechi de CUDA, verificați .

Concluzie:

În acest articol, v-am arătat cum să configurați depozitul de pachete Docker CE pe Ubuntu 22.04. De asemenea, v-am arătat cum să instalați cea mai recentă versiune de Docker CE pe Ubuntu 22.04. V-am arătat cum să instalați depozitul de pachete NVIDIA Container Toolkit pe Ubuntu 22.04, precum și cum să instalați driverul NVIDIA Docker pe Ubuntu 22.04. În cele din urmă, v-am arătat cum să accesați GPU-ul NVIDIA al computerului dvs. dintr-un container Docker.

Referinte: