正常使用docker和gpu,直接命令行安装dcoker和,nvidia-container-toolkit。区别在于,后者在于安装驱动已经cuda加速时存在系统上的差异。
1、安装gpu驱动
在实体机中,安装cuda加速包,我们直接安装 driver 和 cuda 即可。
然而在wsl2,由于共享实体机的驱动,因而不再需要安装driver驱动(驱动版本和cuda版本有匹配要求),仅需要安装cuda-toolkit, 而不是完整的cuda包。
详细官网说明,CUDA Support for WSL 2。
例如 wsl2下安装cuda12.6,
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.6.3/local_installers/cuda-repo-wsl-ubuntu-12-6-local_12.6.3-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-6-local_12.6.3-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-6-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-6
2、安装docker
按如下步骤安装系统最新版本docker
sudo apt-get updatesudo apt-get install ca-certificates curlsudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.ascecho "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update
之后,就可以先update之后安装了
sudo apt-get install docker-ce
安装前可按如下命令查看当前系统支持的docker版本
apt-cache madison docker-ce
3、安装nvidia-container-toolkit
注意在 wsl2 中安装需要满足以下要求:
- Pascal 架构及以上。
- wsl内核版本4.9.121+
- win11直接可用,win10需要注册启用预览计划 Windows Insider Program
官网文档说明 4. WSL 2 Support Constraints。
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.listsudo apt-get updatesudo apt-get install -y nvidia-container-toolkit
4、安装测试
安装之后,同时在电脑上执行nvidia-smi。都能正常运行,驱动版本一致(实体机win和wsl共享驱动),但是cuda版本是不一样的。
docker中运行gpu程序,这里就不展示了。