用于计算的多 Nvidia GPU 超频 (CUDA)

Aga*_*ade 12 nvidia gpu

我在论坛和手册中看到你必须添加

Option "Coolbits" "value"
Run Code Online (Sandbox Code Playgroud)

到 xorg.conf 或类似文件。

我已经能够在第一个 GPU 上使用它,也就是渲染显示的那个。我无法在第二个 GPU 的 nvidia 设置中获得超频选项,没有渲染任何显示。

我试过这样的事情

Section "Device"
    Identifier  "Videocard0"
    Driver      "nvidia"
    BusID       "PCI:2:00:0"
    Option      "Coolbits" "12"
EndSection

Section "Device"
    Identifier  "Videocard1"
    Driver      "nvidia"
    BusID       "PCI:3:00:0"
    Option      "Coolbits" "12"
EndSection
Run Code Online (Sandbox Code Playgroud)

在各种文件中:xorg.conf、99-nvidia.conf、nvidia-xorg.conf。我尝试过的一切都导致黑屏,没有超频能力或仅在第一个 GPU 上超频能力。

是否可以为两个 GPU 解锁超频,如果可以,如何?

我在任何地方都没有发现这个问题。我在 Fedora 21 上运行 346.59 个驱动程序。

Dar*_*use 11

我从来没有能够通过手动编辑 xorg.conf 让它工作。所做的工作是在命令行上执行,为您设置好一切:

sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration
Run Code Online (Sandbox Code Playgroud)

然后编辑 xorg.conf。对我来说,在sudo vi /etc/X11/xorg.conf 包含 allow-empty-initial-configuration 的每一行前面加上“#”以将其注释掉。

重启。

然后超频运行:

/usr/bin/nvidia-settings
Run Code Online (Sandbox Code Playgroud)

要在重新启动后恢复您的设置,请创建一个可执行文件,您可以从包含以下文本的启动应用程序中调用该文件,该文件将设置 gpu 时钟偏移并将 gpu 设置为首选最高性能。我的示例将偏移量设置为 50。不要在文件中为实际显示 gpu 设置太高的偏移量,直到你确定你想要什么,否则你可能最终得到一个显示无法工作的系统:

nvidia-settings -a [gpu:0]/GpuPowerMizerMode=1
nvidia-settings -a [gpu:0]/GPUGraphicsClockOffset[3]=50

nvidia-settings -a [gpu:1]/GpuPowerMizerMode=1
nvidia-settings -a [gpu:1]/GPUGraphicsClockOffset[3]=50

nvidia-settings -a [gpu:2]/GpuPowerMizerMode=1
nvidia-settings -a [gpu:2]/GPUGraphicsClockOffset[3]=50

nvidia-settings -a [gpu:3]/GpuPowerMizerMode=1
nvidia-settings -a [gpu:3]/GPUGraphicsClockOffset[3]=50
Run Code Online (Sandbox Code Playgroud)

如果你也想超频内存

nvidia-settings -a [gpu:0]/GPUMemoryTransferRateOffset[3]=800 
Run Code Online (Sandbox Code Playgroud)

和相关的兴趣,您还可以修改卡的权力。要查看有效值,请输入值 1000

sudo -n nvidia-smi -i 0 --persistence-mode=1
sudo -n nvidia-smi -i 0 --power-limit=145
Run Code Online (Sandbox Code Playgroud)

而只是为了显示力量

nvidia-smi
Run Code Online (Sandbox Code Playgroud)


nbu*_*bis 4

更改 xorg.conf 文件为每个卡(甚至那些未连接到监视器的卡)添加虚拟 X 服务器解决了该问题。

基本上,您希望有一个包含所有真实和虚拟屏幕的服务器布局部分:

Section "ServerLayout"  
    Identifier    "Layout0"     
#   Our real monitor
    Screen 0      "Screen0" 0 0     
#   Our virtual monitors
    Screen 1      "Screen1"     
    Screen 2      "Screen2"
#    ....
    Screen 3      "Screen3"     
    InputDevice   "Keyboard0" "CoreKeyboard"
    InputDevice   "Mouse0"    "CorePointer" 
EndSection
Run Code Online (Sandbox Code Playgroud)

然后,对于每张卡,您可以放入(几乎)相同的“监视器”、“屏幕”和“显示”部分,仅其标识符不同,在下面是N,但应由卡号替换01请注意,至少真实显示器的参数应该与您当前xorg.conf文件中的参数相对应,即在下面我有,CRT因为它是一个旧的 VGA 显示器。

Section "Screen"
    Identifier     "ScreenN"
    Device         "DeviceN"
    Monitor        "MonitorN"
    DefaultDepth 24
    Option         "ConnectedMonitor" "CRT"
    Option         "Coolbits" "5"
    Option         "TwinView" "0"
    Option         "Stereo" "0"
    Option         "metamodes" "nvidia-auto-select +0+0"
    SubSection     "Display"
       Depth 24
    EndSubSection
EndSection



Section "Monitor"
    Identifier     "MonitorN"
    VendorName     "Unknown"
    ModelName      "CRT-N"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "DeviceN"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Your Card name here"
    BusID          "PCI:X:Y:Z"
EndSection
Run Code Online (Sandbox Code Playgroud)