0x00 注意
- 不想折腾的不要弄了,老老实实用windows,现在WSL坑还很多。
- 想安装的一定要看官方文档!!在文末
- 本教程只说明在安装了 WSL2 后,并且默认系统是 win11 下安装中的一些坑,当然也可以帮助你快速排查问题。
- 你可能会遇到很多问题,但是这就是你尝试新鲜事物的代价喽,不过欢迎留言区评论~
- 最后成功的环境是
win11 、GPU Driver 版本是512.15、CUDA 版本是11.6、 WSL2 Linux内核版本是5.10.102.1
- 本文对
miniconda
和pytorch
篇幅较少,可以通过查阅其他博客自行安装。
0x01 一定要先检查硬性版本条件
大多数人都会死在这里的第一步,原因是没有检查 wsl2 使用 gpu 所需要的硬性环境到底是什么。然后后面根本装不上。
1. GPU Driver 版本
注意:这里的GPU driver是安装在windows上的,不是wsl中
- 直接升级到最新版本的吧,460多,470多的版本太老旧了。我理解的官方文档是说需要
471.21
版本之后的才可以。 - 我这里升级完是
512.15
版本,匹配CUDA 11.6
版本的 - 升级步骤
- 我是有这个
NVIDIA GeForce Experience
的,所以按照图中的首先选到驱动程序,然后直接检查更新文件即可,安装的时候使用默认的安装方式便可。
- 没有的话就直接到 NVIDIA 官方驱动地址 查询下载。
- 我是有这个
2. WSL2 内核版本
- 微软官方wsl安装教程
- 安装完 WSL2 后
wsl cat /proc/version
查看,我的这里是5.10.102.1
- 一定要大于5.10.43.3!
- 没有的话要进行升级,设置->windows更新->高级选项->接收其他产品的更新
3. 系统版本
- 前面也提到了,win10 一定要升级到21H2版本的
- win11 在操作系统版本这里没坑
0x02 安装CUDA Toolkit
-
这里的
CUDA Toolkit
版本应该要与driver版本匹配,匹配与否查看这里 -
这里的坑在于要安装wsl-ubuntu版本的,而不是 ubuntu 版本的
-
在 wsl 命令行按照图示的指令运行就行。
-
安装完成后
nvcc -V
应该是显示不出来版本的。需要在~/.bashrc
文件下做环境变量的配置。vim ~/.bashrc
在最下面添加这几行。
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PAT
-
刷新环境
source ~/.bashrc
,运行nvcc -V
会有 CUDA版本的输出。
-
这个时候 CUDA Toolkit 就应该已经安装好了,测试的话可以运行下面的命令。
- 注意:这里 cuda11.6 版本已经将samples移除了,cuda11.6 可以通过激活conda下的python环境运行
import torch
和print(torch.cuda.is_available())
根据是否输出True判断cuda环境安装好没好
- 注意:这里 cuda11.6 版本已经将samples移除了,cuda11.6 可以通过激活conda下的python环境运行
cd /usr/local/cuda/samples/4_Finance/BlackScholes
make BlackScholes
./BlackScholes
查看是否运行成功,还是报错这个东西。这里可坑了,一般都会卡在这里
CUDA error at ../../common/inc/helper_cuda.h:777 code=35(cudaErrorInsufficientDriver) "cudaGetDeviceCount(&device_count)
如果报错这个,那么请你检查自己的所有版本CUDA Driver、 windows11、 WSL内核
是否匹配。
- 装错了怎么卸载cuda1 ------------- 装错了怎么卸载cuda2
0x03 安装miniconda或者conda
miniconda和conda的不同在于如果你只需要python的虚拟环境并且安装一些依赖包的话,miniconda就够了。比较精巧
- 下载地址
- 在 windows 上下载之后可以切换到下载的目录安装。比如你下载到了d盘,那么
cd /mnt/d
并ls
就可以发现在这里。
bash Mniconda3-latest-Linux-x86_64.sh
安装就好,直接根据提示进行安装就行,这个教程很多,我就不再详细说了。安装之后需要conda init
一下,不然找不到conda环境。
0x04 安装gpu版本的pytorch
- 在conda的python环境下,切换到清华源,
pip install torch
就行 - 完了尝试下面的命令看是否输出 True,如果是False说明CUDA没装好。
import torch
torch.cuda.is_available()
0x05 官方文档
https://docs.microsoft.com/en-us/windows/ai/directml/gpu-cuda-in-wsl
https://docs.nvidia.com/cuda/wsl-user-guide/index.html#getting-started-with-cuda-on-wsl
https://developer.nvidia.com/cuda/wsl
0x06 总结
- 官方文档一定要认真看!!!里面其实写的很清楚了,版本什么的。我只是看了下然后写出来了而已。这个坑很多,建议不喜欢折腾的就老老实实用 Windows 或者纯正的 Linux,不要折磨自己。
- 有什么问题欢迎留言,我会尽量帮你解决的~~ 对你有帮助的话点个赞吧,谢谢 O(∩_∩)O~