环境搭建
参考链接 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生成即可。 又出现了新的报错信息,原因是之前的cuda驱动安装失败了。 解决办法:打开windows更新设置中的高级选项,把第一个勾选上,系统会自动为wsl进行驱动相关的更新。 最后发现貌似是因为操作系统内核原因导致,有两个解决思路,一个是加入win10预览体验计划升级操作系统内核,第二个是升级win11。我的版本是19043.1348,据说需要到20145的版本或者更高。 我决定升级win11了。,,,升级win11之后一切正常,甚至在wsl的控制台里可以直接使用nvidia-smi命令查看显卡情况,我佛了。
|