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 11.8,官网网址有安装命令!

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

3)配置环境:参考链接

(1)添加环境变量到 ~/.bashrc 文件的末尾,具体添加内容如下:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.3/lib64
export PATH=$PATH:/usr/local/cuda-11.3/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.3

(2)激活环境变量命令为 source ~/.bashrc 

(3)测试 CUDA Toolkit 。 通过编译自带 Samples并执行, 以验证是否安装成功。具体命令如下所示:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

5、安装cudnn

1、从 NVIDIA 官方网址  https://developer.nvidia.com/rdp/cudnn-download 下载cudnn-linux-x86_64-8.9.5.29_cuda11-archive.tar.xz

 

解压压缩包,并把相应的文件,复制到指定目录即可。如下所示:

tar zxvf cudnn-11.0-linux-x64-v8.0.5.39.tgz 
sudo cp cuda/include/cudnn* /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn* /usr/local/cuda/lib64/libcudnn*

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



posted @ 2022-01-06 19:54  kuaqi  阅读(1582)  评论(0编辑  收藏  举报