Docker GPU no Windows com WSL2

Docker GPU no Windows com WSL2

February 15, 2024

Configurando Ambiente de Desenvolvimento com GPU no Windows usando Docker e WSL2

Este guia detalhado ajudará você a configurar um ambiente de desenvolvimento com GPU no Windows usando Docker, WSL2 e as ferramentas relacionadas da Nvidia.

Passo 1: Verificar os Drivers da GPU

Para começar, verifique se os drivers da sua GPU estão funcionando corretamente. No PowerShell, execute o comando nvidia-smi.

nvidia-smi

Saida da tela do nvidia-smi

Se o comando não funcionar, você pode instalar o driver mais recente para sua GPU no site da Nvidia.

Passo 2: Instalar e Configurar o Docker Desktop e WSL2

  1. Se ainda não tiver o Docker Desktop instalado, baixe-o e instale-o.
  2. Abra o Docker Desktop e clique em “Settings” (Configurações ⚙️).
  3. Em “General”, habilite a opção ‘Use the WSL 2 base engine’.

Configuração do docker desktop

Passo 3: Instalar e Configurar o WSL2

  1. No PowerShell, execute o comando para instalar a versão mais recente do WSL:
wsl --install
  1. Instale a distribuição do Ubuntu no WSL:
wsl --install -d Ubuntu
  1. Verifique se a versão do WSL está correta:
wsl -l -v

Saida do Comando wls -l -v

Se a coluna “version” estiver como 1, atualize para a versão 2 usando o comando:

wsl.exe --set-version NAME 2

Configure a versão padrão do WSL para 2 com o comando:

wsl.exe --set-default-version 2

Passo 4: Integração do Docker com WSL

No Docker Desktop, vá para “Settings” (Configurações ⚙️) > “Resources” > “WSL Integration” e marque “Enable integration with my default WSL distro”.

Tela configuração wsl integration no docker destkop

Passo 5: Instalar o Toolkit do Nvidia Container

  1. Remova chaves GPG antigas
sudo apt-key del 7fa2af80
  1. Configure o repositório:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
  1. Atualize o repositório e instale o Toolkit:
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

Passo 6: Testar a Instalação

Execute o comando nvidia-smi para verificar se a instalação foi bem-sucedida.

Saáda do comando nvidia-smi no wsl ubuntu

Passo 7: Testar o Container Nvidia

Você pode testar o contêiner disponibilizado pela Nvidia usando o comando a seguir:

docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark

Saida do container cuda-sample

Extra: Testar Ambiente com Ollama

Inicie o contêiner Ollama:

docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

Execute um modelo, como o TinyLlama, para verificar se está tudo funcionando corretamente:

docker exec -it ollama ollama run TinyLlama

Pronto! Se tudo estiver correto, você está pronto para começar a usar o ambiente.

Chat ollama saida

Referências: