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

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?