目录
- 引言
- 1. 确认Windows 10版本
- 2. 在Windows上安装WSL2
- 3. 在Windows上安装CUDA on WSL驱动
- 4. 在WSL2中安装CUDA Toolkit
- 3. 测试CUDA是否能在WSL2中运作
- 4. 安装Gnome图形界面
- 其他问题
引言
鉴于在Linux环境下运行深度学习代码,并使用PyCharm调试的需求,原本打算安装Ubuntu双系统,但了解到WSL2已经支持使用GPU进行CUDA运算,故考虑使用WSL2实现上述需求。本文记录了在Windows 10下安装WSL2,并配置Gnome图形界面和CUDA的过程。
1. 确认Windows 10版本
需要注意的是WSL2和CUDA Toolkit对Windows的版本要求并不是完全相同的。即便能够成功安装WSL2,也不一定可以成功使用CUDA。
根据微软官方文档的要求,在x64机器上安装WSL2需要Windows版本 1903 或以上,内部版本 18362 或以上。
而根据NVIDIA官方文档的要求,安装适用于WSL2的CUDA Toolkit,需要安装Windows Insider Preview版本并切换到Fast Ring通道。版本要求20145或以上,但对家庭版/专业版则没有要求。
总体来看只要达到了安装CUDA on WSL的版本要求,就达到了安装WSL2的要求。
2. 在Windows上安装WSL2
这一步参考微软官方文档完成。
3. 在Windows上安装CUDA on WSL驱动
在WSL2中使用GPU,并不需要在Linux内安装驱动,而是需要在Windows中安装特定版本的驱动。CUDA on WSL驱动程序的下载页面,点进去后根据显卡型号选择驱动。
4. 在WSL2中安装CUDA Toolkit
执行下列命令安装CUDA Toolkit。下列命令中的URL适用于Ubuntu 18.04版本,如果你安装的是其他版本需要修改命令中的URL。
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list'
sudo apt-get update
sudo apt-get install -y cuda-toolkit-11-0
注意安装过程可能遇到一些网络问题:
- 安装过程中建议关闭Windows的热点功能,否则执行到
sudo apt-get update
和后面的步骤时,可能会遇到网络错误。 - 如果你连接的是校园网,可能在执行
sudo apt-get
等命令时遇到下列报错。这时候可以尝试换一个网络环境,例如连手机热点等。 - 在执行
sudo apt-get install -y cuda-toolkit-11-0
后,你可能会遇到这样的报错:
这可能是安装源导致的问题,可以尝试更换源来解决。
3. 测试CUDA是否能在WSL2中运作
使用PyTorch中的torch.cuda.is_available()
测试,如返回True说明可以运行。
4. 安装Gnome图形界面
这一部分参考了这篇文章。
首先,在Windows下,安装VcXsrv。
然后,在Ubuntu中,安装Ubuntu Desktop:
sudo apt install ubuntu-desktop
安装完毕后,输入sudo vi ~/.bashrc
,在文件末尾添加:
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
export XDG_SESSION_TYPE=x11
保存后退出,并使用source ~/.bashrc
应用修改。
之后每次启动桌面的步骤为:
- 在Windows中启动Ubuntu CLI
- 在Windows中启动XLaunch,每一步设置如下:
(Display Number改为0,窗口模式根据需求选择,但Multiple Windows似乎无法显示)
选Start no client
勾选Disable access control
- 在Ubuntu中输入
sudo service dbus restart
(建议每次重启桌面都执行一次该命令,重启dbus服务) - 在Ubuntu中输入
gnome-session
完成后即可在VcXsrv窗口看到Ubuntu桌面。
注意!如果你同时在使用一些用于上Google的那种软件,注意修改SOCKS5端口,否则会造成端口冲突而导致VcXsrv和这种软件二者无法同时运行。VcXsrv无法运行的报错如下:
魔法软件无法运行的报错如下:
至此环境配置工作基本完成。
其他问题
- 目前的Windows预览版更新后存在一个无法正常运行CUDA程序的bug,会导致报错如下:
GitHub上已经有人提了issue,目前版本(20231)还是没有解决。
- 启动Ubuntu桌面后,发生过离开电脑一段时间,回来以后电脑黑屏但还在运行而且能响应的情况。猜测是Ubuntu桌面电源设置中的自动息屏导致的,建议把这个设置改为Never:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)