这个很简单,请看:https://blog.csdn.net/RenLJ1895/article/details/122741040
在最新的显卡驱动都已经包含了WSL Cuda驱动,所以显卡驱动已经更新到最新版本,就不用重新安装了。另外:WSL2的Ubuntu系统里不需要再安装任何显卡相关的驱动
这个和再Ubuntu安装没有多大的区别,CUDA安装的命令查看地址:https://developer.nvidia.com/cuda-toolkit-archive
我选择的版本是11.6.0,接着再Ubuntu里面一个一个敲下面的命令等待安装完成。
#把这三行复制到文件底部
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#更新一下bashrc文件
source ~/.bashrc
#更新一下可能需要的依赖
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
#用以下代码检查cuda是否检查成功,注意此处的cuda版本是你在toolkit下载那里决定的,这个版本可能和nvidia-smi显示的版本号不一样,可高可低,这是因为nvidia给cuda开了两个api,这两个api只要差不是太远,基本都可以保证正常运行cuda
nvcc -V
ubuntu中的nvidia-smi目录再/usr/lib/wsl/lib/nvidia-smi
,可以建个软链接到/usr/local/bin
下,也可以将这个目录加到环境变量里,任何执行nvidia-smi
(这里识别出cuda版本是11.7应该是主机的版本,这个不重要)
下载地址:https://developer.nvidia.com/rdp/cudnn-archive (需要登录,下载最新的11.x, 其实就是11.6)
解压到cuda安装目录
#以下是安装命令
tar -zxvf cudnn-自己补全版本号.tgz
sudo cp -P cuda/lib64/* /usr/local/cuda-11.6/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda-11.6/include/
#为更改读取权限:
sudo chmod a+r /usr/local/cuda-11.6/include/cudnn.h
sudo chmod a+r /usr/local/cuda-11.6/lib64/*
我选择的是tensorflow-gpu==2.8.1, 因为2.0以后的TensorFlow自带了keras,直接import tensorflow.keras即可。所以不用额外安装了。
cat /usr/local/cuda/samples/README_CUDA_Samples.txt
这个文件里有个GitHub的链接:https://github.com/NVIDIA/cuda-samples
把文件拷下来(如果速度很慢,则需要点手段,这个就不说了)
cd /usr/local/cuda/samples
git clone https://github.com/NVIDIA/cuda-samples.git
然后编译可执行文件
cd cuda-samples
sudo make
需要等待个十几分钟吧,生成的可执行文件在cuda-samples/bin/x86_64/linux/release
目录
测试通过,说明环境都没啥问题
在vscode里下载Remote-WSl 插件,左边就会多一个按钮。打开然后创建个目录写代码
效果(可以看到显存已经占满了,训练也正常跑了)
不过出了很多的警告信息,谷歌搜了下没找到什么原因,算了,能跑就行了
1、https://blog.csdn.net/iwanvan/article/details/122119595
需要下载和主机系统一样的镜像(主要是为了显卡驱动一模一样,保证直接拷贝主机显卡驱动文件到虚拟机不会出问题)
步骤没什么区别
下载脚本:https://github.com/Sam-Chai/gpu-pv-ps1
修改图中两个位置,第一个为虚拟机的名称,第二个是虚拟机能使用的最大显存。我设置的和主机显卡一样
然后右键使用powershell运行,这样会不容易看出输出信息。窗口一闪而过
可以使用Powershell ISE来运行,打开位置如下
将gpu.ps1文件直接拖到这个窗口,点击绿色的执行按钮就能看到输出,没报错输出完成就没问题
现在直接打开虚拟机,虽然能在设备管理器里面看到显卡的信息,但是显示代码43,因为确实驱动程序,但是又不能直接使用驱动软件下载驱动。
将虚拟机关机,并且挂着虚拟机的磁盘到主机,双击.vhdx文件就可以在磁盘管理里看到(也可以在磁盘管理右键选择附加VHD),可能会有个报错,可以忽略,因为还没有分配盘符。右键分配一下盘符就行
我已经分配过,一打开就挂载了,图中500G的那个
然后拷贝主机C:\Windows\System32\DriverStore\FileRepository
目录下nv开头的文件夹到虚拟机硬盘F:\Windows\System32\HostDriverStore\FileRepository
下(目录需要自己建)
然后在磁盘管理红圈的部分右键选择分离VHD,磁盘就取消挂载了
接着虚拟机开机就应该能看到显卡正常工作了
具体有没有真的正常工作,这个还真不清楚,先跑个鲁大师试试
虚拟机:
主机:
相差还是挺大的,而且在虚拟机跑鲁大师直接卡死了,要等他测完才能连接到 ,尴尬,虚拟机CPU只给了1核,我说怎么这么卡。
后面在看看玩游戏的表现,跑模型就没必要了,用WSL或者直接在主机里跑更方便。
一开始我不想安装系统,想直接备份主机的系统到ghost文件里。然后再hyper-v还原成虚拟机,但是还原后的虚拟机很卡,基本无法操作,估计是很多驱动都不兼容,分享下如果安装ghost
其他步骤一样,就是选择镜像的时候,需要选择PE系统的ISO镜像,我这里选了微PE的镜像(下载微PE,就有生成ISO文件的选项)
硬盘大小比ghost文件大一点就行,比如我备份的系统文件大小是62G,虚拟硬盘选个63G就行了,选择固定大小(因为看到下面写了更好的性能)
生成虚拟硬盘文件之后,就是挂载这个硬盘,然后拷贝ghost文件到虚拟硬盘,这样做的目的是因为到时候要在虚拟机里还原系统,ghost文件又不能放系统盘,所以创建个盘来装。装完系统这个盘就可以卸载了
添加刚才的包含ghost文件的虚拟硬盘
接着开机,正常应该进入到pe系统
因为选的第二代,分区的格式必须选择GPT,不能选MBR,第二代引导是UEFI。还原成功后,需要修复下UEFI引导(可能是非必要的)
这个就不截图演示了
选择无点应用就可以了,包含ghost文件的虚拟硬盘也可以移除
如果你也修复了UEFI引导,那么在固件的位置会增加一个文件,这个不用管
点开机然后应该就能正常进入系统,
1、https://www.bilibili.com/read/cv15539810
2、https://www.bilibili.com/video/BV11u411U7KJ