Nvidia video cards are better at saving power. Which is very important in a critical situations with the current market dip. Many people pay for electricity each month out of crypto earnings.
I tought Nvidia cards are much less tweakable, but I was wrong. Here is how I managed to beat my previous attempt:
Preparation for Nvidia overclock optimization for mining:
1.Disable all all other tools you were using up to now. Disable them from startup to avoid interference. You may want to write down your current power draw if you have a power meter (for comparison after tweaking).2. Download Nvidia Inspector and Nvidia Profile Inspector
3. Run Nvidia Profile Inspector and find:
- CUDA - Force P2 State - set it to OFF
- Power management mode - Prefer maximum performance
|
Nvidia Overclocking And Undervolting
Plan:
1. undervolt GPU (to achieve maximum power savings).
2. overclock GPU (to achieve maximum hashing speed).
3. set fan speed to a value, which keeps GPU temperature around 60 Celsius (to achive maximum GPU lifespan).
1. undervolt GPU (to achieve maximum power savings).
2. overclock GPU (to achieve maximum hashing speed).
3. set fan speed to a value, which keeps GPU temperature around 60 Celsius (to achive maximum GPU lifespan).
The first time I tried to use Nvidia Inspector то undervolt Nvidia, I could not see why it is better than MSI Afterburner.
Someone might like it, some might not, but it is the only software which can downvolt a Nvidia GPU (except playing around with Nvidia SMI console).
Undervolting Nvidia |
Instead of running the GUI and sliding the sliders, we're going to create an empty .txt file in the same folder where nvidiainspector.exe is. Why you might ask? Because GUI application cannot adjust voltage. And undervolting is the main power saver! Copy and paste this in your txt file:
SET VOLT=655000
SET MEMORY=500
SET CORE=100
SET GPU0=-lockVoltagePoint:0,655000 -setBaseClockOffset:0,0,100 -setMemoryClockOffset:0,0,110 -setTempTarget:0,0,65
SET GPU1=-lockVoltagePoint:1,655000 -setBaseClockOffset:1,0,100 -setMemoryClockOffset:1,0,110 -setTempTarget:1,0,65
SET GPU2=-lockVoltagePoint:2,655000 -setBaseClockOffset:2,0,100 -setMemoryClockOffset:2,0,110 -setTempTarget:2,0,65 -setFanSpeed:2,48
SET GPU3=-lockVoltagePoint:3,655000 -setBaseClockOffset:3,0,100 -setMemoryClockOffset:3,0,110 -setTempTarget:3,0,65
SET GPU4=-lockVoltagePoint:4,650000 -setBaseClockOffset:4,0,100 -setMemoryClockOffset:4,0,110 -setTempTarget:4,0,65 -setFanSpeed:4,60
SET GPU5=-lockVoltagePoint:5,655000 -setBaseClockOffset:5,0,100 -setMemoryClockOffset:5,0,110 -setTempTarget:5,0,65
nvidiaInspector.exe %GPU0% %GPU1% %GPU2% %GPU3% %GPU4% %GPU5%
Core Voltage (Nvidia GPU undervolting)
As you may have already seen, In all overclocking tools, the Nvidia Core voltage is greyed out and cannot be decreased, only increased. With stock settings, default Vcore reaches 1.2V. Here comes lockVoltagePoint:0,655000 - the main culprit in this article. It forces GPU to work at 0.655 volts which is 0.125 Volts less than my previous undervolting attempt with MSI AB (which was already low!). The lowest possible value with Nvidia 10 Series is 0.650V. If your GPUs work stable at that low - use it!GPU Core overclock
setBaseClockOffset overclocks the GPU core. GPU core clock should be above 1100Mhz for stable hashing. If it is lower, increase it by adding extra 10-20Mhz. For mining Etherium or other memory intensive algos, keep core clock around 1100Mhz (*1080 might need this a bit higher to be stable). For Cryptonight or Equihash or other core clock intensive algos, keep core clock higher (the higher, the better, depends on GPU quality). You can usualy get +150Mhz stable on any VGA card, and +200Mhz on the good ones. We can monitor real time clocks and voltages in HWinfo or Aida64 or GPU-Z.
Nvidia Memory overclock
-setMemoryClockOffset overclocks the memory. The higher, the better. Each 10 series Nvidia GPU should handle atleast +500Mhz Mem clock.
If overclock is unstable, you can increase a bit the voltage (very slightly). Now save the file and rename the .txt to .bat. Then run the bat file. It will set the values inside to each GPU mentioned.
If overclock is unstable, you can increase a bit the voltage (very slightly). Now save the file and rename the .txt to .bat. Then run the bat file. It will set the values inside to each GPU mentioned.
Set memory to max stable clock, increasing every 15 min with 100Mhz, untill you reach the promised land. After it starts crashing, decrease the last clock with 50Mhz and enjoy a stable rig.
Usually Hynix memory overclocks up to 400-550Mhz, Micron - 500-700Mhz, Samsung - 650-850Mhz.
Usually Hynix memory overclocks up to 400-550Mhz, Micron - 500-700Mhz, Samsung - 650-850Mhz.
Core clock max is between +150 and +230Mhz. Beyond that you need water cooling or it will be unstable.
If you want to increase the number of GPUs, add more lines and add another %GPU*% on the last line. To decrease the number of GPUs according to your rig, delete items from last line.
GPU temperatures
If the internally controlled fan speed is not enough, you can set the parameter: -setFanSpeed:2,48, where 2 is the number of the GPU, 48 is the % speed of it's fan. You can also use external tool for controlling the fans. My personal belief is that max temp should be limited to 65C. While optimal temp is anything below 60C.
*Remember, it's not the hashrate which gives you coins, it's the correctly submitted number of shares. Overclocking too much can decrease the number of mined shares. Sometimes steping down with 20Mhz can Increase the profit.
Undervolting and overclocking result:
After using this method, my 6 Nvidia 1060 6GB GPU rig went down from 517W (already optimized for best hashing and lowest power consumption) to 475W! Temps went down with 5 degrees Celsius.
All this at the same hashrate plus a bonus - a more stable rig and less hassle with MSI AB's bad multi GPU interface!
*Hint: you can add the .bat file to Task Manager and set it to run every 30 min since first boot. This will ensure that badly behaving cards will be less likely to lose their settings.
Please share your overclocking achievements in the comments below!
I don't like ads so I disabled them in this blog. However if you want to support further experiments, please contribute ETH 0x288677B90E4F22737c2bCC0ae87e6FFE2d63007E
You can also put your rig's CPU to work, mining JSEcoin - see here.