Adjust Nvidia GPU fan speed (Multiple GPUs, one monitor)

I have three GPUs installed. GPU 0 (Titan X), GPU 1 (GTX 1050), GPU 2 (Titan X). I managed to have GPU 1 to handle X11 display, and GPU 0 and 2 for CUDA computing.

I want to be able to manually adjust the fan speed for both GPU 0 and GPU 2. If I place the following code in the xorg.conf, then there comes out an option in “NVIDIA X Server Settings” that allows me adjust fan speed for GPU 1.

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

Notice that the line

Option     "Coolbits" "4"

activates the functionality of tuning fan speed through “NVIDIA X Server Settings”.

However, I’m not able to adjust the fan speed for GPU 0 and GPU 2. What should I do in order to adjust the fan speed for GPU 0 and GPU 2?

Try
nvidia-settings -a [gpu:0]/GPUFanControlState=1
nvidia-settings -a [fan:0]/GPUTargetFanSpeed=x

The commands

nvidia-settings -a [gpu:0]/GPUFanControlState=1
nvidia-settings -a [fan:0]/GPUTargetFanSpeed=50

gives me the following output (I’ve replaced the environment variable HOSTNAME with the word hostname):

  • Attribute 'GPUFanControlState' (hostname:0[gpu:0]) assigned value 1.
  • Attribute 'GPUTargetFanSpeed' (hostname:0[fan:0]) assigned value 50.

So I’m able to adjust the fan speed for GPU 0, no problem.

However, the commands:

nvidia-settings -a [gpu:1]/GPUFanControlState=1
nvidia-settings -a [fan:1]/GPUTargetFanSpeed=50

gives me the following output (I’ve replaced the environment variable HOSTNAME with the word hostname):

  • ERROR: Error assigning value 50 to attribute 'GPUTargetFanSpeed' (hostname:0[fan:1]) as specified in assignment '[fan:1]/GPUTargetFanSpeed=50' (Unknown Error).

Notice that the first command even do not have an output. So the Fan for GPU 1 is not even at a controllable state.

How can I make the fan speed a controllable parameter for GPU 1 and GPU 2?

Just an update, I think I’ve figured out a handy solution to my own question. Reference from this website: https://foldingforum.org/viewtopic.php?f=16&t=25075

The following two lines of code would make it possible to adjust fan speed of multiple GPUs.

nvidia-xconfig --enable-all-gpus
nvidia-xconfig --cool-bits=4

any way to do the same on Mac? (I’m using nvidia-web-drivers)

Hello, in a current installation (October 2018, Debian Sid, NVidia Driver 390.87), nvidia-xconfig is marked as obsolete and I have only nvidia-settings, which doesn’t allow those parameters. What can I do it?