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的版本更新



原文地址:https://www.cnblogs.com/wllwqdeai/p/15772568.html