WSL2启用NVIDIA CUDA
来源:https://docs.microsoft.com/zh-cn/windows/ai/directml/gpu-cuda-in-wsl
:https://www.jianshu.com/p/2b79a32bf416
主要安装过程:
适用于 Linux 的 Windows 子系统安装指南 (Windows 10)
CUDA on WSL User Guide
1、系统要求
Windows 11 or Windows 10, version 21H2.
2、windows系统安装GPU驱动(WSL2下的linux系统并不需要安装驱动)
https://developer.nvidia.com/cuda/wsl
3、linux内核要求
要求内核版本 5.10.43.3 或 更高。
4、在WSL2上安装CUDA Toolkit(2种):https://docs.nvidia.com/cuda/wsl-user-guide/index.html
(1)用WSL-Ubuntu Package安装CUDA Toolkit
$ 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/11.4.0/local_installers/cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb $ sudo dpkg -i cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb $ sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-4-local/7fa2af80.pub $ sudo apt-get update $ sudo apt-get -y install cuda
(2)用Meta Package安装CUDA Toolkit(注意:不要在WSL2上安装NVIDIA driver)
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin $ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 $ wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_amd64.deb $ sudo dpkg -i cuda-repo-ubuntu2004-11-4-local_11.4.0-470.42.01-1_amd64.deb $ sudo apt-key add /var/cuda-repo-ubuntu2004-11-4-local/7fa2af80.pub $ sudo apt-get update $ apt-get install -y cuda-toolkit-11-4
5、安装Docker
$ curl https://get.docker.com | sh
6、安装NVIDIA Container Toolkit(以前的nvidia-docker2)
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - $ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list $ sudo apt-get update $ sudo apt-get install -y nvidia-docker2
$ sudo service docker stop $ sudo service docker start
7、运行CUDA Container
$ docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
8、注意事项
-
基本要求:Cuda的要求高于简单的WSL2安装,且Cuda需要开启用户体验计划,开启后需要及时检查更新内核至需要的版本
-
Linux系统:尽管可以从WSL1使用的系统直接转为WSL2,但是1中已经安装了很多包,各种依赖关系,不如为WSL2设置一个新系统
-
Cuda Driver:只在windows中安装,无需在linux中再安装,意味着
nvidia-smi
命令是无效的 -
Cuda Toolkit:先查看自己需要的包是否需要单独安装,若单独安装,取消选中Driver;否则(如用conda安装pytorch时),conda会附带下载对应的Cuda Toolkit,不用自己单独安装
-
安装成功后如果突然
torch.cuda.is_available()
为False,注意Windows下NVIDIA驱动更新(NVIDIA官网提供的WSL专用驱动更新),以及WSL2下对应cudatoolkit的版本更新