wsl2使用GPU进行深度学习

环境搭建

首先查看自己系统版本,需要时win10的预览版或者时win11才能成功。。
参考链接
https://docs.nvidia.com/cuda/wsl-user-guide/index.html#installing-wip

1.wsl2安装

wsl2安装实际上非常简单,大体上来说可以分为两步

  • 安装激活wsl2功能
    其实这里可以直接参考官方的参考文档。但是其实这里我并没有直接使用命令就能成功,此处参考了另一个官方文档,成功安装了wsl2。
  • 安装linux的发行版
    linux发行版的安装在上面的官方教程里也有提到,其实就是直接到微软的应用商店下载安装对应的版本就行。(我这里安装的是ubuntu18.04。)

2.GPU相关环境安装

如果英语好可以直接见官方教程,挺详细的。

2.1cuda驱动安装

这部分是在windows系统中安装的,从链接中下载专为wsl开发的cuda驱动。下载完之后安装,选项我默认选的第一个(安装显卡驱动和experience程序),安装完之后需要重启电脑生效。这里需要提醒的是官方提示电脑上只需要这一个cuda驱动,它既可以为windows系统服务也可以为wsl2里的ubuntu系统服务。

安装完之后理论上可以在windows的命令行中运行nvidia-smi来获取GPU的当前运行状态,否则可能是安装失败了。

2.2.cuda toolkit 安装

这里就直接根据官方给的命令在wsl2的ubuntu终端中执行。

这里个人建议在执行命令之前将ubuntu中的自带apt-get进行更新(使用update和upgrade命令)。
并且这里第三行命令中的dep包特别大,有2个多G,有条件者可以用科学的方法下载。

$ 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
$ wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
$ sudo dpkg -i cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
$ sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-4-local/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get -y install cuda

2.3.例子验证

$ cd /usr/local/cuda-11.4/samples/4_Finance/BlackScholes
$ make BlackScholes
$ ./BlackScholes

Initializing data...
...allocating CPU memory for options.
...allocating GPU memory for options.
...generating input data in CPU mem.
...copying input data to GPU mem.
Data init done.

Executing Black-Scholes GPU kernel (131072 iterations)...
Options count             : 8000000
BlackScholesGPU() time    : 0.207633 msec
Effective memory bandwidth: 385.295561 GB/s
Gigaoptions per second    : 38.529556

出现报错信息,可以看出是权限不足,使用sudo生成即可。
wsl2使用GPU进行深度学习_第1张图片
又出现了新的报错信息,原因是之前的cuda驱动安装失败了。
在这里插入图片描述
解决办法:打开windows更新设置中的高级选项,把第一个勾选上,系统会自动为wsl进行驱动相关的更新。
wsl2使用GPU进行深度学习_第2张图片
最后发现貌似是因为操作系统内核原因导致,有两个解决思路,一个是加入win10预览体验计划升级操作系统内核,第二个是升级win11。我的版本是19043.1348,据说需要到20145的版本或者更高。
我决定升级win11了。,,,升级win11之后一切正常,甚至在wsl的控制台里可以直接使用nvidia-smi命令查看显卡情况,我佛了。

你可能感兴趣的:(开发,深度学习,ubuntu,windows,gpu)