Multi Nvidia GPU overclocking for computations (CUDA)

gpunvidia

I have seen in forums and manuals that you have to add

Option "Coolbits" "value"

to xorg.conf or similar files.

I have been able to get this working for the first GPU, the one rendering the display. I have not been able to get overclocking options in nvidia-settings for the second GPU, not rendering any display.

I have tried things like

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

in the various files: xorg.conf, 99-nvidia.conf, nvidia-xorg.conf. Everything I have tried has led to black screens, no overclocking capability or overclocking capability on the first GPU only.

Is it possible to unlock overclocking for both GPUs, if so how?

I have not found this question asked anywhere. I am running 346.59 drivers on Fedora 21.

Best Answer

Changing the xorg.conf file to add virtual X servers for each of the cards (even those not connected to a monitor) solved the issue.

Basically, you want to have a server layout section with all of your real and virtual screens:

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

Then, for each your cards, you can put in (almost) identical "Monitor", "Screen" and "Display" sections, differing only by their identifiers, which in the following are N, but should be repaced by the card number, 0,1, etc. Note that at least the parameters for the real monitor should correspond to what you currently have in your xorg.conf file, i.e. in the following I have CRT since it's an old VGA monitor.

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
Related Question