安装WSL
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
下载 Linux 内核更新包:l链接:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
下载完成后更新。
将 WSL 2 设置为默认版本,命令:
wsl --set-default-version 2
打开 Microsoft Store,搜索WSL,选择你偏好的 Linux版本。
我选择的是Ubuntu22.04版本。点进去就可以看到下载链接
下载即可。下载完成后,启动系统,配置用户名和密码。
输入nvidia-smi
,检查是否能找到显卡,正常情况,如下图:
一些问题
WslRegisterDistribution failed with error: 0x8007019e The Windows Subsystem错误的解决方案
执行命令
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
回车,输入Y或者y,然后系统重启。
输入nvidia-smi,显示不正确
这个有可能是wsl的版本不对,出现这种情况是Window的版本太低了!升级到21H2或者Win11。
也可以通过观察Ubuntu的版本,如下图:
如果wsl的版本是1.0的,内核是4.XXX。
也可以使用命令,查看wsl版本,在PowerShell里输入:
wsl -l -v
红框里的是2,就正确了!如果是1,则要重新安装Ubuntu。
执行命令:
wsl --list
查找wsl的列表。
wsl --unregister Ubuntu-22.04
注销列表中显示的Ubuntu系统
然后,重新打开Ubuntu系统。
注:WSL系统使用的显卡驱动是Win系统的驱动,所以不用安装驱动!
安装CUDA
安装gcc,执行命令:
sudo apt update
sudo apt install build-essential
输入Y。
链接:https://developer.nvidia.com/cuda-toolkit-archive
我选用的是12.1版本,如下图:
执行命令:
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
sudo sh cuda_12.1.1_530.30.02_linux.run
输入accept。
选择安装的组件,不用安装驱动!
选择Install。
安装完成
接下来,配置环境变量输入vim ~/.bashrc命令打开文件,在文件结尾输入以下语句,保存。
export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
然后,点击保存后关闭文档,然后执行命令source ~/.bashrc。
至此cuda安装完成,输入nvcc -V命令查看cuda信息。
安装cuDNN
链接:https://developer.nvidia.com/rdp/cudnn-archive
打开连接,选择CUDA 12.x,这里要和安装的CUDA版本对上!
点击上图红框的位置,就可以看到下图的列表,选择对应的文件,单击后就可以下载,如下图:
在地址栏输入“\wsl$”,然后点击Enter键。打开Ubuntu22.04的目录!
然后,找到home路径,如下图:
将下载的cudnn复制到用户名的路径下,如下图:
然后,执行安装命令,命令如下:
sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb
等待cuDNN安装包仓库安装完毕后,最后几行会输出一个添加密钥的命令,类似下面。我们执行输出的那个命令:
执行命令:
sudo cp /var/cudnn-local-repo-ubuntu2204-8.8.0.121/cudnn-local-B66125A0-keyring.gpg /usr/share/keyrings/
更新apt源,让apt包管理器能够找到刚刚安装的cuDNN安装包仓库:
sudo apt update
准备安装cuDNN,先查找一下cuDNN安装包仓库中包含的cuDNN深度学习库有哪些版本:
sudo apt list libcudnn*
安装cuDNN库,执行命令:
sudo apt install libcudnn8-dev libcudnn8-samples
检查一下cuDNN的动态库文件是否安装到位,执行命令:
readelf -d /usr/lib/x86_64-linux-gnu/libcudnn.so | grep SONAME
检查libcudnn8-dev是否安装成功,执行命令:
cat /usr/include/cudnn_version.h | grep CUDNN_
编译一下cuDNN的示例代码。如果能成功编译并运行,代表你的CUDA工具链和cuDNN库全部正常工作。
# 复制示例代码到$HOME目录下,然后进入该目录
cp -r /usr/src/cudnn_samples_v8/ ~
cd ~/cudnn_samples_v8/
# 试着编译一份卷积运算的示例代码
cd conv_sample/
# 用apt安装的cuDNN头文件和库目录位置与Makefile中给定的默认位置不同,
# 因此我们先手动指定位置后再make
CUDNN_INCLUDE_PATH=/usr/include/ CUDNN_LIB_PATH=/usr/lib/x86_64-linux-gnu/ make
# 编译完成后,执行编译出的二进制文件,进行卷积运算测试
./conv_sample
# 运行更多的卷积运算测试案例
source run_conv_sample.sh
运行结果: