经过了一番折腾,查阅了上无数教程,很多都不靠谱,或者说只能满足其中的一部分。这篇博客总结了我这几天折腾出来的结果,可以完美的实现显卡超频(不管有没有图形化界面都可以),或者集成显卡输出图像,独显用于计算,这样就可以节约几百m的显存。我的配置是显卡是RTX3080,cpu是10400

简单的显卡超频

仅仅考虑显卡超频,不考虑核显输出图像,是一件非常简单的事情。在这里以图形化的界面,注意,此时显示器应该接在显卡的接口上,不然会卡在登陆界面进不去,具体操作如下:
首先打开终端,输入以下命令:

sudo nvidia-xconfig

然后就会在/etc/X11/文件夹中,生成一个xorg.conf文件,这个文件夹使用配置图形化界面的。然后输入:

sudo vim /etc/X11/xorg.conf

在文件中下滑到最后,找到

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

在其中添加Option "Coolbits" "28",其中2代表显卡风扇转速调整,8代表显卡超频
结果如下:

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Coolbits" "28"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

最后通过reboot命令重启一下即可,重启后,在终端输入命令nvidia-settings既可打开nvidia-x-serve,如下图所示,其中Graphics Clock Offset是核显超频,通过修改偏移量offset来超频,右边的是显存超频

深度学习 两 双 cuda 超显存 cuda超频_深度学习 两 双 cuda 超显存


如果需要对风扇转速进行调整,对Enable GPU Fan Settings打勾,然后就可以设置了,设置后Apply。

深度学习 两 双 cuda 超显存 cuda超频_图形化界面_02


这样显卡超频就弄好了!!!

如果是没有图形化界面的话,原理也是一样的,只不过是通过命令来修改!!具体教程可以参考:无显示器ubantu显卡超频

核显输出的同时,显卡进行计算并且超频

如上教程所描述,显卡超频的时候会生成xorg.conf文件,这个时候会自动选择显卡输出图形化界面,如果此时显示器插在集成显卡上,就会卡在图形化界面进不去。这个时候去查解决办法,百分之九十九的回答都是使用sudo prime-select intel让你把图形化界面切换到集成显卡,但是这样做就会导致,显卡没法超频。这样就导致了一个很尴尬的情况。那该如何解决呢?
具体解决办法还是得在xorg.conf文件上进行操作,对其进行配置以实现我们所需要的。
首先与之前的方法一样,生成xorg.conf文件,然后通过vim打开。但是配置就与之前不一样了。由于nvidia-xconfig命令只会生成于独显有关的配置,我们首先需要添加intel的配置。
把一下内容复制到xorg.conf文件中:

Section "Device"
    Identifier     "Intel0"
    Driver         "intel"
    BusId          "PCI:0:2:0"
EndSection

然后把原来的

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

改成

Section "Screen"
    Identifier     "Screen0"
    Device         "Intel0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

然后重新添加一个nvidia的Screen

Section "Screen"
    Identifier     "Screen1"
    Device         "Device0"
    Option         "Coolbits" "28"
EndSection

最后对Section layout修改,

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    Screen      1  "Screen1"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

这样就完成了,完整的配置文件如下:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 470.42.01

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    Screen      1  "Screen1"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection
Section "Device"
    Identifier     "Intel0"
    Driver         "intel"
    BusId          "PCI:0:2:0"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    Option         "Coolbits" "28"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Intel0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device0"
    Option         "Coolbits" "28"
EndSection

这样就可以做到核显输出图形化界面,独显用于计算!!!如果是多张显卡,只需要按照上述格式为其他几张显卡编辑Screen和Device,最后加入到layout 就行