安装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 updatesudo 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.runsudo 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中给定的默认位置不同,# 因此我们先手动指定位置后再makeCUDNN_INCLUDE_PATH=/usr/include/ CUDNN_LIB_PATH=/usr/lib/x86_64-linux-gnu/ make # 编译完成后,执行编译出的二进制文件,进行卷积运算测试./conv_sample # 运行更多的卷积运算测试案例source run_conv_sample.sh

运行结果: