Ubuntu22.04设置独显用于深度学习运算,核显用于屏幕显示

摘要

目前有需求配置台式机win11+Ubuntu的双系统,安装双系统的教程比较多,安装n卡驱动的教程也比较多,但是大多数的教程都到独显驱动安装完毕为止,这意味着按照教程配置好之后桌面会占用独显的现存大概100-200M,对于显存比较紧张的深度学习运算的情况下很有可能是致命的。因此,本篇教程旨在通过设置使得独显仅仅用于深度学习运算,同时将核显用于屏幕显示。

主板bios设置

一般来讲我们不需要进入到bios中执行显卡启动顺序等设置,但是在这个地方为了控制变量,陈述一下自己显卡的bios设置,我的主板型号是微星B660M迫击炮WIFI,开机进入bios中,设置第一显卡的选项中,将PEG(独显)更改为IGD(核显),这意味着主板会先检测核显是否被连接,即显示器是否连接到主板的HDMI/DP接口上,如果有,那么就通过核显进行输出,否则继续检测独显是否被连接。
在这里插入图片描述
在这里插入图片描述

第一步:切换prime-select

网络上关于Ubuntu系统下如何切换核显和独显的教程大多数都是在说通过Nvidia x Server Setting这个软件中的prime profiles选项来调整使用intel还是nvidia的显卡,而最新的软件中并没有看到有这个选项,这时候我们可以通过命令行来进行显卡切换。
在这里插入图片描述命令行里面输入

prime-select query

该命令用于查看目前的显卡使用模式,可以看到一般来讲我们刚装完显卡驱动都是这种on-demand模式,即混合模式,此时的显示器接口应该是插在独显上的
在这里插入图片描述
此时我们nvidia-smi来查看一下显存占用
在这里插入图片描述
可以看到区区一个桌面+浏览器就占用了400m的显存,非常离谱。这个时候我们就可以使用如下命令

sudo prime-select intel

来将显卡模式切换为intel,即核显模式。等待命令行执行完毕
在这里插入图片描述

第二步:关机重启,并将显示器接口插到主板上

接下来关机,然后将显示器的插口插到主板上,然后重新开机,这时候我们再输入nvidia-smi命令会发现如下错误
在这里插入图片描述
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
这时候别慌,不要看网上教程说你显卡驱动没了,显卡驱动还在,只是这个时候你是完全使用核显来进行图像输出的,可能把独显给屏蔽了,而这个时候我们再打开Nvidia x Server Setting软件时,会发现之前不见的PRIME Profiles选项复活了。
在这里插入图片描述
而选项显示,你目前使用的GPU是intel,并且变成了节能模式。

第三步:设置PRIME Profiles为NVIDIA On-Demand模式

在这个时候将选项切换成中间的On-Demand混合模式,静静等待设置完成。
在这里插入图片描述
根据他的指示,重启电脑。注意:不要更改显示器的接口!让他仍然插在主板上!
重启电脑后,我们再次输入nvidia-smi命令,神奇的事情发生了
在这里插入图片描述
我们成功的连接了独立显卡,并且显存的占用只有6MB,虽然不是0,但是已经非常接近于0了,之前占用显存的gnome桌面、浏览器等等都已经不见了,这样不跑代码的时候独立显卡也会更省电一些。NVIDIA Settings里面的PRIME Profiles也已经成功切换到On-Demand模式。
在这里插入图片描述

注意事项

需要注意的是,完成上述第三步之后请不要轻易更改显示器的接口,据我所测试,如果将显示器接口重新插入到独显上的话,那么就会再次自动使用独显来完成显示器的输出工作,如果不小心这样做了,请按照本文第一步开始重新设置一下即可。

参考文献

以下是四篇参考文献,本文使用了与其不同的方法,如果如有侵权,请联系我删除,谢谢!
ubuntu 核显输出 独显计算
ubuntu18.04 让独显全部用于运算
Intel for display, NVIDIA for computing
Ubuntu能不能核显处理桌面,独显跑CUDA和OpenGL?

猜你喜欢

转载自blog.csdn.net/qq_41983842/article/details/129131044