【知乎】Windows安装WSL2并配置nVidia GPU
Windows安装WSL2并配置nVidia GPU
竹风
高山仰止,景行行止, 虽不能至,心向往之。
关注他
46 人赞同了该文章
目录
收起
1. 安装nVidia GPU驱动
2. 安装WSL2
3. 在WSL2中安装CUDA
日常办公使用的是Windows操作系统,但是开发过程中不可避免要使用到Linux且需要GPU支持,VMWare和VBox等虚拟机方案不支持游戏显卡虚拟化,在不安装双系统情况下WSL2不仅可以提供Linux较为完整的支持,同时还能共同host中的GPU,是一个较为理想的解决方案。
现在已经是2022年,网上许多安装WSL2和WSL2中配置GPU的资料已经过时,因此在这里记录一下整个安装流程。
主要参考资料来自nVidia官网
CUDA Toolkit Documentationdocs.nvidia.com/cuda/wsl-user-guide/index.html
windows系统现在已经不需要切换到Insider Preview版本,但是要确保系统版本高于windows10 21H2或Windows11
1. 安装nVidia GPU驱动
网上有许多资料写道需要安装针对WSL特别驱动,但是现在已经不需要这么做了,只需要到nVidia官网将驱动升级到最新版本即可。
Download the latest official NVIDIA driverswww.nvidia.com/Download/index.aspx
根据参考资料描述,驱动类型最好选择Game Ready版本而不是studio版本
注意,该是安装Windows驱动,而不是安装Linux驱动,在Windows下安装驱动后,会自动将驱动以libcuda.so的形式集成至WSL2中,因此切勿在WSL Linux中重复安装驱动。
2. 安装WSL2
现在安装WSL2也很方便了,可以参考官方链接:
Install WSLdocs.microsoft.com/en-us/windows/wsl/install
这里列出一些主要步骤:
安装wsl(默认为Ubuntu发行版)
wsl --install
切换到WSL2
# 默认为WSL2,如果不是,可以通过下面命令切换默认为WSL2wsl --set-default-version 2#可以通过下面命令切换指发行版到WSL2wsl --set-version <distro name> 2
进入WSL2
# 在powershell或cmd下输入即可wsl
如果安装过程中出现错误,可能要需要手动安装一下更新https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
如果仍然出错,可以尝试全手动安装:
Manual installation steps for older versions of WSLdocs.microsoft.com/en-us/windows/wsl/install-manual
3. 在WSL2中安装CUDA
这一步要小心,WSL2中安装CUDA和在普通Linux中安装CUDA会有所不同,主要参考CUDA Toolkit 11.7 Downloads | NVIDIA Developer内容。
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
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/ /"sudo apt-get update
sudo apt-get -y install cuda
做完以上步骤,理论上就可以在WSL2中使用GPU了,在WSL2中输入nvidia-smi
查看,如果有输出则说明安装好了:
好了,是不是特别简单和方便呢?
编辑于 2022-05-17 12:51
Windows 10
Microsoft Windows
WSL (Windows Subsystem for Linux)
发布一条带图评论吧
20 条评论
默认
最新
啦啦啦
但是我刚装完wsl2 nvidia-smi就有cuda version
2022-05-25 · IP 属地北京
回复5
灭没
直接在powershell里输入nvidia-smi,出来的是windows下的cuda版本
01-11 · IP 属地河南
回复4
阿孟
The CUDA driver installed on Windows host will be stubbed inside the WSL 2 as libcuda.so, therefore users must not install any NVIDIA GPU Linux driver within WSL 2 其实官网已经说明了 不需要再安装了
06-11 · IP 属地湖南
回复1
展开其他 3 条回复
iff nil
想问一下为什么win10安装过最新nVidia驱动后,nvidia-smi在WSL2 Ubuntu中not found
2022-06-22 · IP 属地黑龙江
回复喜欢
竹风
作者
首先确保win10是最新版本,其次步骤3在wsl2中安装cuda做了吗?
2022-06-27 · IP 属地湖北
回复喜欢
zzz
已过时
06-14 · IP 属地上海
回复喜欢
Ryanvixu
步骤3做完后,还是nvidia-smi not found
03-19 · IP 属地广东
回复喜欢
苟全性命于乱世
秋豆麻袋
感谢感谢,不过我弃疗了
去买带图形界面的云服务器了
04-13 · IP 属地北京
回复喜欢
秋豆麻袋
苟全性命于乱世
看看我最新教程。菜了好多坑。
网上很多文章太老了
04-12 · IP 属地江苏
回复喜欢
展开其他 1 条回复
阿弥陀佛
请教,我在wsl中安装了CUDA,但是nvidia-smi显示的还是windows装的版本
2022-11-19 · IP 属地浙江
回复喜欢
阿弥陀佛
浑身软肋你跟我法
好的,感谢回复。之后网上了解到具体信息,已经处理了
2022-11-29 · IP 属地浙江
回复1
阿弥陀佛
篮球圣经
就是说nvcc -V和 nvidia-smi显示的是两个不同的东西的版本,你要cuda就看nvcc-V的版本
06-11 · IP 属地浙江
回复喜欢
展开其他 2 条回复
Tulip
您好,请问nvcc --version的输出为什么是not found呢?
2022-06-27 · IP 属地北京
回复喜欢
竹风
作者
可以参考步骤3,wsl2里虽然不用装驱动,但是软件包。还是要装的
2022-06-27 · IP 属地湖北