Posts Tagged ‘Nvidia power usage


When calculating what crypto coin to mine you need to take into account not only the hashrate you get, but also the power usage for the specific algorithm used by the coin. When talking about Nvidia GPUs the two most popular ones used by miners are GTX 750 Ti and GTX 970 and there is a reason behind that – they offer good price/performance ratio to be used in multi-GPU mining rigs. Sure you can always go for a GTX 980 Ti or even GTX Titan X, but these although more powerful are also significantly more expensive and do not provide so good price/performance ratio.

We have decided to do a quick check of the current situation with a Geforce GTX 970 video card from Gigabyte (WF3OC) and a GeForce GTX 980 Ti reference design GPU and see how they compare in a power and performance check. The results you see in the table above are achieved with the latest ccMiner 1.7.4 from Tpruvot and with the latest fork of ethminer wth CUDA support from Genoil. The video cards are not overclocked further than their factory settings (the Gigabyte GTX 970 is factory overclocked) and they are forced to run CUDA applications in P0 power state to maximize performance in Ethereum.

As you can see from the results aside from Ethereum the GTX 980 Ti is faster with not that much more power usage, however the price of the 980 Ti is roughly double the price of a single GTX 970 and with two 970s you are sure to beat the hashrate of a single 980 Ti. It is interesting to see that a GTX 980 Ti (reference board) can be slower than a GTX 970 GPU, but with a non-reference design you can actually get about 20-21 MHS in Ethereum due to the higher clocks. Still the GTX 980 Ti is most definetly not the right video card for mining Ethereum, if you want to stick to mining Ethereum’s Ether coins with Nvidia you should go for the GTX 970 for sure as the best choice. Even though for Ethereum and other Dagger-Hashimoto altcoins AMD GPUs are still faster in terms of hashrate.


There are a number of tools available that can allow you to monitor and control various aspects of your GPU and most fo them do come with nice graphical user interface to make things simple. When mining however you might want to have easy console command control over the GPU behavior to be able to execute commands that change things from a Batch file fro example right before a given miner software is stated. For Nvidia GPUs there is the Nvidia System Management Interface (nvidia-smi) command line utility that can help you do that in a simple and effective way, we have already showed an example using it to control the power state of the GPUs for getting some extra performance with non-overclocked video cards that are not running at the maximum power state when doing compute tasks such as mining for crypto currencies. Now it is time to show you some more useful tricks for using the nvidia-smi to check and modify the maximum TDP (Power Limit) that a given GPU can use as well as how to monitor constantly the GPU temperature and power usage and possibly log them in a file if you need that recorded for some further analysis.

The nvidia-smi utility is part of the video drivers and you can find it installed in the folder “C:\Program Files\NVIDIA Corporation\NVSMI\” on Windows, so you need to run the command line (cmd) and navigate to that folder in order to be able to issue commands. You then need to run nvidia-smi with some specific parameters based on what you need it to do such as specifying which GPU you need to play with by ID and then the command that needs to be sent or the data read from it.

So if you want to see what is the power limit of the first Nvidia GPU in the system:

nvidia-smi -i 0 --format=csv --query-gpu=power.limit

If you do not include the i parameter followed by the GPU ID you will get the power limit of all of the available video cards, respectively with a different number you get the details for the specified GPU. Then comes the fun part, changing the power limit to a lower value in order to reduce power consumption without affecting the performance or with slight decrease to get better power efficiency while mining. So in the following example we set the power limit to 175W for the first GPU down from the maximum of 275W that is has preset in the BIOS:

nvidia-smi -i 0 -pl 175


The next useful thing we want to be able to do via the console is to check the temperature of an Nvidia GPU and have it reported each second with the ability to also save the results in a text file should we need to do some additional analysis of the results. Using nvidia-smi to read the temperature of the first GPU each 1000 ms (1 second) can be done with the following command:

nvidia-smi -i 0 --loop-ms=1000 --format=csv,noheader --query-gpu=temperature.gpu

In order to stop the reporting of the temperature in degrees Celsius you need to press CTRL + C. If you need to have the result recorded to a text file you can run the following command:

nvidia-smi -i 0 --loop-ms=1000 --format=csv,noheader --query-gpu=temperature.gpu > temperature.txt


The same way you can get the temperature of a GPU in the system reported you can also have a report on the current power draw of each Nvidia GPU in Watts for example every second. The reporting of power usage is very accurate and does not require any hardware as it is already implemented on a hardware level in the more recent Nvidia-based video cards. What you need to do is to run the following command:

nvidia-smi -i 0 --loop-ms=1000 --format=csv,noheader --query-gpu=power.draw

In order to stop the reporting of the temperature in degrees Celisus you need to press CTRL + C. If you need to have the result recorded to a text file you can run the following command:

nvidia-smi -i 0 --loop-ms=1000 --format=csv,noheader --query-gpu=power.draw > powerusage.txt

The reporting of the current power usage can be very helpful when tweaking your Nvidia-based video card for achieving the best power usage / mining performance ratio and also in order to compare power usage between different crypto algorithms. The nvidia-smi tool has some other useful features that may be handy for users, do note however that the changes you make with it are not permanent, they will need reapplying if you restart your computer, but you can automate them with a simple batch file by running a command right before you start up your miner software.