Como usar a GPU da NVIDIA em recipientes do Docker no Ubuntu Top 10.Top 10 LTS

Como usar a GPU da NVIDIA em recipientes do Docker no Ubuntu Top 10.Top 10 LTS

Você pode repassar sua GPU da NVIDIA em recipientes do Docker e executar programas CUDA na sua GPU NVIDIA desses contêineres do Docker. Este é um recurso muito útil para aprender ai (inteligência artificial). Ser capaz de executar códigos de IA (eu.e. Tensorflow) em contêineres do Docker economizará muito tempo. Você também pode experimentar seus códigos de IA em diferentes versões CUDA sem precisar alterar a versão CUDA em seu computador.

Firando com os motoristas da NVIDIA e as versões CUDA no seu computador podem causar problemas como os motoristas da NVIDIA não funcionando ou deixando você com uma tela de morte preta/azul. Portanto, é sempre uma boa ideia deixar seu sistema como ele é e fazer alterações em um ambiente isolado, como contêineres do Docker. Isso mantém o computador principal limpo (de ferramentas de desenvolvimento desnecessárias).

Neste artigo, vou mostrar como configurar o Docker CE e o Nvidia Docker no Ubuntu 22.04 LTS para que você possa acessar a GPU da NVIDIA do seu computador a partir de contêineres do Docker e executar programas CUDA na sua GPU NVIDIA.

Índice:

  1. Verificando se os drivers oficiais da NVIDIA GPU estiverem instalados no Ubuntu 22.04 LTS
  2. Instalando as dependências do Docker CE no Ubuntu 22.04 LTS
  3. Instalando as teclas do Docker CE GPG no Ubuntu 22.04 LTS
  4. Instalando o repositório Docker CE no Ubuntu 22.04 LTS
  5. Instalando o Docker CE no Ubuntu 22.04 LTS
  6. Adicionando o Ubuntu 22.04 LTS Login User to the Docker Group
  7. Verificando se o Docker CE foi instalado corretamente no Ubuntu 22.04 LTS
  8. Instalando as teclas GPG do NVIDIA Toolkit GPG no Ubuntu 22.04 LTS
  9. Instalando o NVIDIA Container Toolkit Repository no Ubuntu 22.04 LTS
  10. Instalando os drivers NVIDIA-Docker no Ubuntu 22.04 LTS
  11. Verificação se a GPU da NVIDIA estiver acessível a partir de contêineres do Docker no Ubuntu 22.04 LTS
  12. Conclusão
  13. Referências

Verificando se os drivers oficiais da NVIDIA GPU estiverem instalados no Ubuntu 22.04 LTS:

Antes de começar, execute o seguinte comando para verificar se você tem uma GPU da NVIDIA instalada no seu computador.

$ lspci | EGREP -I 'VGA | 3D | Display'

Nesse caso, eu tenho NVIDIA GTX 1050 TI GPU instalado no meu computador. Você provavelmente terá uma GPU NVIDIA diferente instalada no seu computador.


Além disso, verifique se você tem os drivers NVIDIA oficiais instalados no seu Ubuntu 22.04 Sistema operacional com o seguinte comando:

$ lsmod | Grep Nvidia

Se os motoristas oficiais da NVIDIA estiverem instalados no seu Ubuntu 22.04 Sistema operacional, você verá as seguintes saídas.


Além disso, verifique se os motoristas oficiais da NVIDIA GPU estão trabalhando com o seguinte comando:

$ nvidia-smi

Se os motoristas oficiais da NVIDIA GPU estiverem funcionando, você verá as seguintes saídas. Como você pode ver, eu tenho o driver oficial da NVIDIA GPU versão 525.78.01 Instalado no meu Ubuntu 22.04 Máquina.


Se você não tiver os drivers oficiais da NVIDIA GPU instalados no seu Ubuntu 22.04 Machine e você precisa de qualquer assistência com isso, verifique o artigo como instalar os drivers da NVIDIA no Ubuntu 22.04 LTS.

Instalando as dependências do Docker CE no Ubuntu 22.04 LTS:

Antes de instalar o Docker CE no Ubuntu 22.04, você precisará instalar os pacotes de dependência do Docker CE necessários no Ubuntu 22.04.

Primeiro, atualize o cache do repositório de pacotes apt com o seguinte comando:

$ sudo apt update

O cache do repositório de pacotes apt deve ser atualizado.


Para instalar os pacotes de dependência necessários do Docker CE, execute o seguinte comando:

$ sudo apt-get Install Ca-certificados

Para confirmar a instalação, pressione Y e depois pressione .


Os pacotes de dependência do Docker CE necessários devem ser instalados.

Instalando as teclas do Docker CE GPG no Ubuntu 22.04 LTS:

Nesta seção, vou mostrar como instalar a chave GPG do repositório de pacotes do Docker CE no Ubuntu 22.04.

Primeiro, crie uma nova pasta /etc/apt/chaveiros com o seguinte comando:

$ sudo mkdir -p/etc/apt/chaveiros

Para instalar a chave GPG do repositório de pacotes do Docker CE no Ubuntu 22.04, execute o seguinte comando:

$ CURL -FSSL https: // Download.Docker.com/linux/ubuntu/gpg | sudo gpg - -daarmor -o/etc/apt/keyrings/docker.gpg

Instalando o repositório Docker CE no Ubuntu 22.04 LTS:

Para instalar o repositório do pacote Docker CE no Ubuntu 22.04, execute o seguinte comando:

$ echo "Deb [arch = $ (dpkg --print-architecture) assinado por by =/etc/apt/keyrings/docker.gpg] https: // download.Docker.com/linux/ubuntu $ (lsb_release -cs) estável "| sudo tee/etc/apt/fontes.lista.D/Docker.Lista> /dev /null

Atualize o cache do repositório de pacote APT para que as alterações tenham efeito.

$ sudo apt update


Instalando o Docker CE no Ubuntu 22.04 LTS:

Para instalar a versão mais recente do Docker CE no Ubuntu 22.04, execute o seguinte comando:

$ sudo apt-get install docker-c docker-c-cli contêinerd.IO Docker-Compose-Plugin

Para confirmar a instalação, pressione Y e depois pressione .


Docker CE e os pacotes de dependência necessários estão sendo baixados. Vai demorar um pouco para completar.


Docker CE e os pacotes de dependência necessários estão sendo instalados. Vai demorar um pouco para completar.


Docker CE e os pacotes de dependência necessários devem ser instalados neste momento.

Adicionando o Ubuntu 22.04 LTS Login Usuário do Docker Group:

Para criar contêineres do Docker e gerenciá -los sem usar sudo ou logado como usuário root, você precisará adicionar seu usuário de login ao Docker grupo.

Para adicionar o usuário de login do seu Ubuntu 22.04 para o Docker Grupo, execute o seguinte comando:

$ sudo userMod -AG Docker $ (whoami)

Para que as mudanças entrem em vigor, reinicie o computador com o seguinte comando:

$ sudo reiniciar

Verificando se o Docker CE foi instalado corretamente no Ubuntu 22.04 LTS:

Depois que seu computador começar, execute o seguinte comando para verificar se você pode acessar o Docker sem privilégios de superusuário.

Versão $ docker

Se tudo funcionar, você deve ver as seguintes saídas.

Como você pode ver, estou executando o Docker versão 20.10.23 - A versão mais recente do Docker CE no momento da redação deste artigo.

Instalando as teclas GPG do NVIDIA Toolkit GPG no Ubuntu 22.04:

Nesta seção, vou mostrar como instalar a tecla GPG do repositório de pacote NVIDIA Container Toolkit no Ubuntu 22.04.

Para instalar a chave GPG do NVIDIA Container Toolkit Package Repository no Ubuntu 22.04, execute o seguinte comando:

$ CURL -FSSL https: // nvidia.Github.io/libnvidia-container/gpgkey | SUDO GPG--DEARMOR -O/USR/SHARE/keyrings/nvidia-container-toolkit-keyring.gpg

Instalando o NVIDIA Container Toolkit Repository no Ubuntu 22.04 LTS:

Nesta seção, vou mostrar como instalar o repositório de pacote NVIDIA Toolkitkit no Ubuntu 22.04.

Primeiro, crie um novo arquivo de origem apt nvidia-container-toolkit.lista no /etc/apt/fontes.lista.d/ diretório da seguinte maneira:

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

No nvidia-container-toolkit.lista Arquivo, adicione a seguinte linha e pressione + X seguido pela Y e Para salvar o arquivo.

Deb [assinado por.gpg] https: // nvidia.Github.io/libnvidia-container/stable/ubuntu22.04 /$ (arch) /



OBSERVAÇÃO: Se você está usando o Ubuntu 20.04 LTS, então tudo o que você precisa fazer é adicionar a seguinte linha no nvidia-container-toolkit.lista arquivo e tudo o resto deve funcionar inalterado.

Deb [assinado por.gpg] https: // nvidia.Github.io/libnvidia-container/stable/ubuntu20.04 /$ (arch) /


OBSERVAÇÃO: Se você está usando o Ubuntu 18.04 LTS, então tudo o que você precisa fazer é adicionar a seguinte linha no nvidia-container-toolkit.lista arquivo e tudo o resto deve funcionar inalterado.

Deb [assinado por.gpg] https: // nvidia.Github.io/libnvidia-container/stable/ubuntu18.04 /$ (arch) /


Para que as alterações entrem em vigor, atualize o cache do repositório de pacotes apt com o seguinte comando:

$ sudo apt update


Instalando os drivers NVIDIA-Docker no Ubuntu 22.04 LTS:

Para instalar os drivers NVIDIA Docker no Ubuntu 22.04, execute o seguinte comando:

$ sudo apt install nvidia-docker2

Para confirmar a instalação, pressione Y e depois pressione .


Os drivers NVIDIA Docker devem ser instalados.


Para que as mudanças entrem em vigor, reinicie o computador com o seguinte comando:

$ sudo reiniciar

Verificação se a GPU da NVIDIA estiver acessível a partir de contêineres do Docker no Ubuntu 22.04 LTS:

Nesta seção, vou mostrar como criar um contêiner Nvidia Cuda Docker e verificar se o contêiner pode acessar a GPU NVIDIA do seu computador.

Para criar um contêiner NVIDIA CUDA 12 Docker Baseado no Ubuntu 20.04 LTS e execute o nvidia-smi Comando nele uma vez criado para verificar se pode acessar a GPU da NVIDIA a partir do seu computador, execute o seguinte comando:

$ Docker Run -RM - -GPUS TODOS NVIDIA/CUDA: 12.0.0-Base-Ubuntu20.04 Nvidia-smi

Docker está puxando o Nvidia/Cuda: 12.0.0-Base-Ubuntu20.04 Imagem do hub do docker. Vai demorar um pouco para completar.


Uma vez que a imagem Nvidia Cuda Docker é puxada e um recipiente é criado, o nvidia-smi O comando será executado nele e imprimirá a saída no console, como você pode ver na captura de tela abaixo.

O recipiente do docker está usando o Nvidia GPU Driver 525.78.01[1] e a CUDA Versão 12.0[2]. Se você vir saídas semelhantes, o contêiner do Docker pode acessar a GPU da NVIDIA do seu computador.


Se você precisar usar versões mais antigas do CUDA, verifique a imagem NVIDIA/CUDA no Docker Hub.

Conclusão:

Neste artigo, mostrei como configurar o repositório de pacotes do Docker CE no Ubuntu 22.04. Eu também mostrei como instalar a versão mais recente do Docker CE no Ubuntu 22.04. Eu mostrei como instalar o NVIDIA Container Toolkit Package Repository no Ubuntu 22.04, bem como como instalar o driver do NVIDIA Docker no Ubuntu 22.04. Finalmente, mostrei como acessar a GPU da NVIDIA do seu computador de um contêiner Docker.

Referências:

  1. https: // docs.nvidia.com/datacenter/nuvem nativo/contêiner-toolkit/install-guide.html
  2. https: // hub.Docker.com/r/nvidia/cuda/tags