Tesla K20c remains in P0 power state when idle

I have two GPUs in my workstation: GeForce GTX 980 and Tesla K20c. Both are set to “Adaptive” in the “PowerMizer” settings. When I have nothing running except my desktop session, both are in the P8 state, but when I start a VMD (http://www.ks.uiuc.edu/Research/vmd/) process (e.g. with vmd -dispdev none), which registers both GPUs as CUDA devices, the Tesla switches to the P0 state and stays there, even if the VMD process isn’t doing anything. The GPU utilization is shown as 0%. This causes the Tesla card to draw 49W rather than ~15W according to nvidia-smi. The GTX 980 briefly switches to a higher power state, when starting VMD, but then reverts to P8.

Is the existence of a CUDA process enough to keep the Tesla card at P0? And can this be changed in some way? My workstation is used by a number of users through TurboVNC or SSH, and there is almost always a number of idle VMD processes sitting around.

I believe the answer is yes, but it has been years since I last used a Tesla K20c. The continued existence of a CUDA context prevents the GPU from dropping to lower power states. The power management on these older devices is not very sophisticated, and frequent state switching may have had a negative impact on performance.

By all means wait for answers from others, especially txbob, for a more authoritative response. If you need to be super economical with electricity use, why not make sure idling VMD processes are terminated? If that is not a possibility: the additional usage (based on your data) seems to be below 1 KWh per day, so maybe 20 cents worth of electricity, which seems a minor inconvenience.

The existence of a CUDA process is enough to keep a card at an elevated P-state. The exact behavior may vary by GPU (type). It’s possible that K20 goes to P0. I’m not aware of any way to modify a card or force it to a lower P-state.