Clock frequency management on non-proffesional CC 3.5 cards?


While attempting to monitor clock rates (and potentially modify them) on GTX Titan using Nvidia SMI I discovered that I could not get much information at all, let alone make any modifications…

If you wanted a script based solution (or NVML in ‘C’) is there any good feasible way to do this on the non-professional cards?

Greatful for any input.

Below is my smi output:

You have practically no control. Maybe if you use the ‘hidden’ options, like coolbits and others, but you will need to have the xorg running on the card.

So it looks to me like at least on linux there is a command line interface which covers all the features of found in the “nvidia-settings” application. This should render some control of clocks etc, shouldn’t it?

Feels like this should be possible also under windows… What am I missing here?

If you want to change clock speeds, you need to use overclocking tools in Windows like EVGA’s Precision X, where there is an API that supports that natively. Under Unix/Linux, there is no equivalent that I am aware of, and you will have to resort to BIOS modification of clock speeds.

You’re in luck because there is a huge thread on the forums that deals specifically with various different BIOS’ that others have modified for the GTX Titan. In fact, when I had a Titan, I was able to overclock to somewhere around 1050-1100MHz with a modified BIOS (DP units enabled). There are even some BIOS’ that completely do away with the GPU Boost functionality, so that clocks are more stable instead up boosting whenever the driver/card feels like doing it.

If you want to monitor under Linux via nvidia-smi, you’ll want to take a look at this:

For Windows, you can use GPU-z, which can poll/store dynamic clock speeds at a decent enough resolution (at least 1 second)

Even for Tesla K20, where this feature is supported, the application clocks available in the stock BIOS are very limited (I believe only 3 choices) Not sure about K40, but I imagine it is a similar issue there.

I’m actually mainly interested in downclocking :-)

The tools seems great, but makes me wonder if EVGA can do it then so should other developers aswell?

Ah, I haven’t played with my K20 yet, but is it correct that NVIDIA SMI uses the same NVML library? (would make sense).

Yup, NVIDIA-smi is based on NVML, which is why that fix works to monitor clocks, basically fooling the library into thinking it’s a supported GPU. It won’t enable other features that are inherently not present in a card, however (e.g. ECC or TCC for Titan) but I’ve tried it and it works to monitor clocks in Linux. The consumer GPUs just do not support the application clocks/mode changes/ECC/etc features that nvidia-smi is able to change on the Tesla/Quadro GPUs.

The EVGA Precision X tool I mentioned works across different NVIDIA subvendors of cards (EVGA/MSI/etc), and works to downclock/overclock on supported cards. It just happens that EVGA were the ones that developed it. MSI Afterburner is a similar tool that also should work:

I believe both of those tools use NVAPI to accomplish clock/etc changes, which is available on Windows, but not Unix/Linux.

Here’s a particular Titan BIOS you might be interested in:

Another tool to over/underclock memtioned in the link is NVIDIA Inspector (again, Windows-based)
Kepler BIOS Tweaker will also let you adjust clocks/power targets/etc on pretty much any recent NVIDIA card BIOS’ including Titan:

Big thanks! Will check it out!

I wish there was a way to change the bios to not see raising the fan speed as very costly to do.
It seems to be very reluctant to raise the fan speed.

Once the card reached 80C, it just seems to downclock instead of raise the fan above 55% or so.
I don’t mind if the fan has to run at 80% to keep it under 80C, just don’t down-clock the card!
(I’m also not running into the power limit btw)

If I change the bios so that it cannot lower the clock down very far, then it just lets the card get too hot (95C or so) while the fan is still at 60%.

I could raise the minimum fan speed to 70% or something, but that’s unnecessarily loud at idle.

Get a waterblock for the card :) It’ll run nice and cool and stop throttling because of temperature issues.

You don’t mention if on Windows or Linux and what card you have… assuming Titan and Windows, you can set custom fan profiles with EVGA’s tool, possibly with MSI’s as well… that it’ll actually work better is another thing.