Paano Gamitin ang NVIDIA GPU sa Docker Container sa Ubuntu 22.04 LTS

Paano Gamitin Ang Nvidia Gpu Sa Docker Container Sa Ubuntu 22 04 Lts



Maaari mong ipasa ang iyong NVIDIA GPU sa mga Docker container at magpatakbo ng mga CUDA program sa iyong NVIDIA GPU mula sa mga Docker container na ito. Ito ay isang napaka-kapaki-pakinabang na tampok para sa pag-aaral ng AI (Artificial Intelligence). Ang kakayahang magpatakbo ng mga AI code (i.e. Tensorflow) sa mga container ng Docker ay makakatipid sa iyo ng maraming oras. Maaari mo ring subukan ang iyong mga AI code sa iba't ibang bersyon ng CUDA nang hindi kailangang baguhin ang bersyon ng CUDA sa iyong computer.

Ang pagkalikot sa mga driver ng NVIDIA at mga bersyon ng CUDA sa iyong computer ay maaaring magdulot ng mga problema tulad ng hindi gumagana ang mga driver ng NVIDIA o nag-iiwan sa iyo ng itim/asul na screen ng kamatayan. Kaya, palaging magandang ideya na iwanan ang iyong system kung ano ito at gumawa ng mga pagbabago sa isang nakahiwalay na kapaligiran tulad ng mga container ng Docker. Pinapanatili nitong malinis ang iyong pangunahing computer (ng mga hindi kinakailangang tool sa pag-develop).







Sa artikulong ito, ipapakita ko sa iyo kung paano i-setup ang Docker CE at NVIDIA docker sa Ubuntu 22.04 LTS para ma-access mo ang NVIDIA GPU ng iyong computer mula sa mga container ng Docker at magpatakbo ng mga CUDA program sa iyong NVIDIA GPU.



Talaan ng mga Nilalaman:

  1. Sinusuri kung ang Opisyal na NVIDIA GPU Driver ay Naka-install sa Ubuntu 22.04
  2. Pag-install ng Docker CE Dependencies sa Ubuntu 22.04
  3. Pag-install ng Docker CE GPG Keys sa Ubuntu 22.04
  4. Pag-install ng Docker CE Repository sa Ubuntu 22.04
  5. Pag-install ng Docker CE sa Ubuntu 22.04
  6. Pagdaragdag ng Ubuntu 22.04 LTS Login User sa docker Group
  7. Sinusuri kung Tamang Na-install ang Docker CE sa Ubuntu 22.04
  8. Pag-install ng NVIDIA Container Toolkit GPG Keys sa Ubuntu 22.04
  9. Pag-install ng NVIDIA Container Toolkit Repository sa Ubuntu 22.04
  10. Pag-install ng nvidia-docker Drivers sa Ubuntu 22.04
  11. Sinusuri kung ang NVIDIA GPU ay Maa-access mula sa Docker Containers sa Ubuntu 22.04
  12. Konklusyon
  13. Mga sanggunian

Sinusuri kung ang Opisyal na NVIDIA GPU Driver ay Naka-install sa Ubuntu 22.04 LTS:

Bago ka magsimula, patakbuhin ang sumusunod na command upang i-verify na mayroon kang NVIDIA GPU na naka-install sa iyong computer.



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





Sa kasong ito, mayroon akong NVIDIA GTX 1050 Ti GPU na naka-install sa aking computer. Malamang na magkakaroon ka ng ibang NVIDIA GPU na naka-install sa iyong computer.


Gayundin, siguraduhin na mayroon kang opisyal na mga driver ng NVIDIA na naka-install sa iyong Ubuntu 22.04 operating system na may sumusunod na command:



$ lsmod | mahigpit na pagkakahawak nvidia

Kung ang mga opisyal na driver ng NVIDIA ay naka-install sa iyong Ubuntu 22.04 operating system, makikita mo ang mga sumusunod na output.


Gayundin, suriin kung gumagana ang opisyal na mga driver ng NVIDIA GPU gamit ang sumusunod na command:

$ nvidia-smi

Kung gumagana ang opisyal na mga driver ng NVIDIA GPU, makikita mo ang mga sumusunod na output. Tulad ng nakikita mo, mayroon akong opisyal na bersyon ng NVIDIA GPU Driver na 525.78.01 na naka-install sa aking Ubuntu 22.04 machine.


Kung wala kang opisyal na mga driver ng NVIDIA GPU na naka-install sa iyong Ubuntu 22.04 machine at kailangan mo ng anumang tulong doon, mangyaring suriin ang artikulo .

Pag-install ng Docker CE Dependencies sa Ubuntu 22.04 LTS:

Bago mo mai-install ang Docker CE sa Ubuntu 22.04, kakailanganin mong i-install ang kinakailangang mga pakete ng dependency ng Docker CE sa Ubuntu 22.04.

Una, i-update ang APT package repository cache gamit ang sumusunod na command:

$ sudo angkop na pag-update

Dapat na ma-update ang cache ng repositoryo ng APT package.


Upang i-install ang mga kinakailangang dependency package ng Docker CE, patakbuhin ang sumusunod na command:

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

Upang kumpirmahin ang pag-install, pindutin ang AT at pagkatapos ay pindutin ang .


Dapat na mai-install ang kinakailangang mga pakete ng dependency ng Docker CE.

Pag-install ng Docker CE GPG Keys sa Ubuntu 22.04 LTS:

Sa seksyong ito, ipapakita ko sa iyo kung paano i-install ang GPG key ng Docker CE package repository sa Ubuntu 22.04.

Una, lumikha ng isang bagong folder /etc/apt/keyrings gamit ang sumusunod na utos:

$ sudo mkdir -p / atbp / apt / lalagyan ng susi

Upang i-install ang GPG key ng Docker CE package repository sa Ubuntu 22.04, patakbuhin ang sumusunod na command:

$ kulot -fsSL https: // download.docker.com / linux / ubuntu / gpg | sudo gpg --mahal -O / atbp / apt / lalagyan ng susi / docker.gpg

Pag-install ng Docker CE Repository sa Ubuntu 22.04 LTS:

Upang i-install ang Docker CE package repository sa Ubuntu 22.04, patakbuhin ang sumusunod na command:

$ echo 'deb [arch= $(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) matatag' | sudo katangan / atbp / apt / source.list.d / docker.list > / dev / wala

I-update ang cache ng repository ng APT package para magkabisa ang mga pagbabago.

$ sudo angkop na pag-update


Pag-install ng Docker CE sa Ubuntu 22.04 LTS:

Upang i-install ang pinakabagong bersyon ng Docker CE sa Ubuntu 22.04, patakbuhin ang sumusunod na command:

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

Upang kumpirmahin ang pag-install, pindutin ang AT at pagkatapos ay pindutin ang .


Ang Docker CE at ang mga kinakailangang dependency package ay dina-download. Magtatagal bago makumpleto.


Ini-install ang Docker CE at ang mga kinakailangang dependency package. Magtatagal bago makumpleto.


Dapat na mai-install ang Docker CE at ang mga kinakailangang dependency package sa puntong ito.

Pagdaragdag ng Ubuntu 22.04 LTS Login User sa docker Group:

Upang lumikha ng mga lalagyan ng Docker at pamahalaan ang mga ito nang hindi gumagamit ng sudo o naka-log in bilang root user, kakailanganin mong idagdag ang iyong login user sa docker pangkat.

Upang idagdag ang login user ng iyong Ubuntu 22.04 sa docker grupo, patakbuhin ang sumusunod na command:

$ sudo usermod -aG docker $ ( sino ako )

Para magkabisa ang mga pagbabago, i-restart ang iyong computer gamit ang sumusunod na command:

$ sudo i-reboot

Sinusuri kung Tamang Na-install ang Docker CE sa Ubuntu 22.04 LTS:

Kapag nagsimula na ang iyong computer, patakbuhin ang sumusunod na command upang i-verify na maa-access mo ang Docker nang walang mga pribilehiyo ng superuser.

$ bersyon ng docker

Kung gumagana ang lahat, dapat mong makita ang mga sumusunod na output.

Tulad ng nakikita mo, nagpapatakbo ako ng bersyon ng Docker 20.10.23 – ang pinakabagong bersyon ng Docker CE sa oras ng pagsulat na ito.

Pag-install ng NVIDIA Container Toolkit GPG Keys sa Ubuntu 22.04:

Sa seksyong ito, ipapakita ko sa iyo kung paano i-install ang GPG key ng NVIDIA Container Toolkit package repository sa Ubuntu 22.04.

Upang i-install ang GPG key ng NVIDIA Container Toolkit package repository sa Ubuntu 22.04, patakbuhin ang sumusunod na command:

$ kulot -fsSL https: // nvidia.github.io / libnvidia-lalagyan / gpgkey | sudo gpg --mahal -O / usr / ibahagi / lalagyan ng susi / nvidia-container-toolkit-keyring.gpg

Pag-install ng NVIDIA Container Toolkit Repository sa Ubuntu 22.04 LTS:

Sa seksyong ito, ipapakita ko sa iyo kung paano i-install ang repositoryo ng pakete ng NVIDIA Container Toolkit sa Ubuntu 22.04.

Una, gumawa ng bagong APT source file nvidia-container-toolkit.list nasa /etc/apt/sources.list.d/ direktoryo tulad ng sumusunod:

$ sudo nano / atbp / apt / source.list.d / nvidia-container-toolkit.list

Nasa nvidia-container-toolkit.list file, idagdag ang sumusunod na linya at pindutin ang + X sinundan ng AT at para i-save ang file.

na [ nilagdaan-ni= / usr / ibahagi / lalagyan ng susi / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-lalagyan / matatag / libre22.04 / $ ( ARCH ) /



Kung gumagamit ka ng Ubuntu 20.04 LTS, ang kailangan mo lang gawin ay idagdag ang sumusunod na linya sa nvidia-container-toolkit.list file sa halip at lahat ng iba pa ay dapat gumana nang hindi nagbabago.

na [ nilagdaan-ni= / usr / ibahagi / lalagyan ng susi / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-lalagyan / matatag / libre20.04 / $ ( ARCH ) /


Kung gumagamit ka ng Ubuntu 18.04 LTS, ang kailangan mo lang gawin ay idagdag ang sumusunod na linya sa nvidia-container-toolkit.list file sa halip at lahat ng iba pa ay dapat gumana nang hindi nagbabago.

na [ nilagdaan-ni= / usr / ibahagi / lalagyan ng susi / nvidia-container-toolkit-keyring.gpg ] https: // nvidia.github.io / libnvidia-lalagyan / matatag / libre18.04 / $ ( ARCH ) /


Para magkabisa ang mga pagbabago, i-update ang cache ng repositoryo ng APT package gamit ang sumusunod na command:

$ sudo angkop na pag-update


Pag-install ng nvidia-docker Drivers sa Ubuntu 22.04 LTS:

Upang i-install ang mga driver ng NVIDIA Docker sa Ubuntu 22.04, patakbuhin ang sumusunod na command:

$ sudo apt i-install nvidia-docker2

Upang kumpirmahin ang pag-install, pindutin ang AT at pagkatapos ay pindutin ang .


Dapat na mai-install ang mga driver ng NVIDIA docker.


Para magkabisa ang mga pagbabago, i-restart ang iyong computer gamit ang sumusunod na command:

$ sudo i-reboot

Sinusuri kung ang NVIDIA GPU ay Maa-access mula sa Docker Containers sa Ubuntu 22.04 LTS:

Sa seksyong ito, ipapakita ko sa iyo kung paano lumikha ng isang lalagyan ng NVIDIA CUDA Docker at i-verify na maa-access ng container ang NVIDIA GPU mula sa iyong computer.

Upang lumikha ng isang NVIDIA CUDA 12 Docker container batay sa Ubuntu 20.04 LTS at patakbuhin ang nvidia-smi command dito sa sandaling ito ay nilikha upang i-verify kung maa-access nito ang NVIDIA GPU mula sa iyong computer, patakbuhin ang sumusunod na command:

$ tumakbo sa pantalan --rm --gpus lahat ng nvidia / cuda:12.0.0-base-ubuntu20.04 nvidia-smi

Hinihila ng Docker ang nvidia/cuda:12.0.0-base-ubuntu20.04 larawan mula sa Docker Hub. Magtatagal bago makumpleto.


Kapag ang NVIDIA CUDA docker na imahe ay nakuha at isang lalagyan ay ginawa, ang nvidia-smi Ang command ay tatakbo dito at i-print ang output sa console tulad ng makikita mo sa screenshot sa ibaba.

Ang lalagyan ng Docker ay gumagamit ng NVIDIA GPU driver 525.78.01 [1] at ang CUDA bersyon 12.0 [2] . Kung makakita ka ng mga katulad na output, maaaring ma-access ng Docker container ang NVIDIA GPU ng iyong computer.


Kung kailangan mong gumamit ng mga mas lumang bersyon ng CUDA, tingnan .

Konklusyon:

Sa artikulong ito, ipinakita ko sa iyo kung paano i-setup ang repositoryo ng package ng Docker CE sa Ubuntu 22.04. Ipinakita ko rin sa iyo kung paano i-install ang pinakabagong bersyon ng Docker CE sa Ubuntu 22.04. Ipinakita ko sa iyo kung paano i-install ang repositoryo ng pakete ng NVIDIA Container Toolkit sa Ubuntu 22.04 pati na rin kung paano i-install ang driver ng NVIDIA Docker sa Ubuntu 22.04. Sa wakas, ipinakita ko sa iyo kung paano i-access ang NVIDIA GPU ng iyong computer mula sa isang lalagyan ng Docker.

Mga sanggunian: