Como instalar o NVIDIA CUDA Toolkit no Linux Subsystem WSL 2


Última atualização em 19 de Julho, 2021 por Vítor Fernandes.

O CUDA Toolkit inclui bibliotecas com ferramentas de depuração e otimização, um compilador C / C ++ e uma biblioteca de tempo de execução para construir e implantar aplicativos nas principais arquiteturas, incluindo x86, Arm e POWER.
developer.nvidia.com

Se ainda não tens o Linux Subsystem WSL 2, segue os passos apresentados aqui.

1 – Verifica a versão do Windows

Atenção, só é permitido a instalação do controlador NVIDIA CUDA Toolkit nas versões 21322 ou superior do Windows.

winver
Windows build 2200.65 Windows 11

2 – Instala o controlador NVIDIA com suporte WSL 2

Faz o download do controlador compatível WSL 2 através da página oficial NVIDIA. Atenção, é preciso registo!

3 – Adiciona as chaves de acesso e repositório NVIDIA

sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list'
sudo apt-get update -y

3 – Instala o controlador NVIDIA CUDA Toolkit

sudo apt-get install -y cuda-toolkit-11-0 cuda-toolkit-10-2
sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/nvidia-machine-learning.list'
sudo apt-get update -y
sudo apt-get install --yes --no-install-recommends cuda-10-2 libcudnn7=7.6.5.32-1+cuda10.2 libcudnn7-dev=7.6.5.32-1+cuda10.2
sudo apt-get install --yes --no-install-recommends libnvinfer6=6.0.1-1+cuda10.2 libnvinfer-dev=6.0.1-1+cuda10.2 libnvinfer-plugin6=6.0.1-1+cuda10.2

Verifica a instalação

nvidia-smi && ls -lah /usr/lib/x86_64-linux-gnu/ | grep cuda

Verifica o IP WSL

ip addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'

Adiciona uma configuração personalizada

Para um melhor esclarecimento sobre os argumentos verifica a página oficial Microsoft

echo [wsl2] >c:\users\%username%\.wslconfig & echo memory=4GB >>c:\users\%username%\.wslconfig & echo processors=2 >>c:\users\%username%\.wslconfig