1.前期准备
当前时间2024/5/1,尽管Ubuntu24.04已经发布,但是由于缺少ROS2以及Cudnn等软件,在此依然选择Ubuntu22.04
windows系统为win11,首先需要打开Windows功能中的以下几项
接着在bios中开启cpu虚拟化,我的BIOS里相关选项叫SVM,不同厂家可能名称不太一样
2.安装wsl子系统并配置桌面
重启后以管理员模式运行windows终端,输入(当前默认的Ubuntu版本是22.04,未来可能会有变化,如果默认版本改变,就把wsl --install -d Ubuntu更换为wsl --install -d Ubuntu-22.04)
wsl --updatewsl --set-default-version 2wsl --shutdownwsl --install -d Ubuntu
安装完成后重新打开win终端,输入
wsl -l -v
返回值为已安装的linux子系统,运行状态,wsl版本。(我这里已经打开了,所以才显示running)
之后我们暂时关闭终端,开始安装VcXsrv。VcXsrv这个软件是用来实现图形化桌面的显示。
下载链接如下
VcXsrv Windows X Server download | SourceForge.net
安装完成后打开VcXsrv,需要修改的地方为第一个窗口显示模式
以及这一页中additional parameters
一路下一页并确定后我们会得到一个黑框框。暂时不要管它,把它放后台即可
之后我们依然以管理员模式打开windows终端,输入ipconfig,可以找到一个wsl本地连接ipv4地址。
记住这个ipv4地址
之后我们要打开刚才安装的ubuntu22.04,我们可以在终端添加新窗口处找到我们已安装的系统
点击后即可打开系统
输入lsb_release -a可以查看发行版本
进入系统后,首先进行更新,并安装以下几个包
sudo apt updatesudo apt upgradesudo apt install build-esstentialsudo apt install xfce4
然后在~/.bashrc这个文件的最后一行添加如下内容并保存(具体vim使用不再赘述)
export DISPLAY=172.30.80.1:0
这里填的是我自己的ipv4地址,读者把其中的172.30.80.1换成自己wsl的ipv4地址即可
之后运行一下
source ~/.bashrc
当然,为了确保无误,此时可以重启一下wsl子系统,具体方法是,在windows终端里运行以下指令,再重新打开
wsl --shutdown
至此如果步骤没有错,那么就可以准备打开图形界面了(需要注意的是,每次都要先打开VcXsrv,然后再开启ubuntu子系统)
打开Ubuntu子系统后运行如下命令
sudo startxfce4
如果一切正常,应该可以看到VcXsrv中显示图形化界面
xfce4不同于gnome,是个非常轻量化的系统,右键调出主菜单,操作和gnome不太一样。
3.安装CUDA、Cudnn、Pytorch
与virtualbox或vmware不同的是,wsl可以更直接的调用显卡,大大方便了开发者(所以未来的鸿蒙PC能不能搞个Linux子系统直接开发昇腾npu呢?)
具体的wsl下cuda安装流程可以参考以下内容
CUDA on WSL
这里由于要考虑到后面pytorch兼容性问题,我依然选择cuda12.1
各版本的CUDA安装链接如下
https://developer.nvidia.com/cuda-toolkit-archive
这里我选择的安装方式是runfile local
按照网页给出的命令安装,过程中一切保持默认即可(具体来说,不要安装nvidia驱动,只安装cuda,cuda12.1安装包里面不包含nvdia驱动,所以说默认即可)。完成后,需要在~/.bashrc中添加环境变量如下
export PATH=$PATH:/usr/local/cuda-12.1/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.1/lib64/export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
之后,在ubuntu中运行nvcc -V,可以显示出nvcc版本即可
只要cuda安装无误,那么Cudnn和Pytorch直接按照官网给出的命令安装即可
cuDNN 9.1.0 Downloads | NVIDIA Developer
PyTorch