[Guide} How to Undervolt GCN - Overclock.net - An Overclocking Community

Forum Jump: 

[Guide} How to Undervolt GCN

 
Thread Tools
post #1 of 3 (permalink) Old 02-28-2016, 10:43 PM - Thread Starter
New to Overclock.net
 
Worldwin's Avatar
 
Join Date: Apr 2014
Posts: 275
Rep: 19 (Unique: 18)
INTRO

Following this http://www.tomshardware.com/reviews/msi-afterburner-undervolt-radeon-r9-fury,4425.html I have decided to write a guide on undervolting AMD gpu's. This guide will cover the first and second generation of the GCN architecture, although it should apply to third gen too (tonga and fiji). I am making this guide for that one guy who is curious and find this thread VIA google.

Here is why you should undervolt:
-reduced power consumption
-reduced fan noise from both GPU and PSU
-reduced load on PSU
-reduced
-lowered temperatures
-provides a challenge by finding your cards absolute limits
-when you don't need that five jiggahertz core speed in your low demanding games

Recommended Software Tools
-VBE7 for Gen 1 GCN (Tahiti, Pitcairn and Cape Verde and their refreshes)
Download:http://www.techpowerup.com/forums/threads/vbe7-vbios-editor-for-radeon-hd-7000-series-cards.189089/.
-HawaiiReader for Gen 2 GCN (Hawaii and Bonaire?)
Download:https://github.com/OneB1t/HawaiiBiosReader
From the thread:https://www.overclock.net/t/1561372/hawaii-bios-editing-290-290x-295x2-390-390x
-Hex editor for Gen 3 GCN (Will not be covered in this guide)
-GPU-Z
Download:https://www.techpowerup.com/downloads/2627/techpowerup-gpu-z-v0-8-7/
-Overclocking software
My recommendation:http://www.guru3d.com/files-details/msi-afterburner-beta-download.html
-Flashing program
https://www.techpowerup.com/downloads/2531/atiflash-2-71/ for the lazy people and https://www.techpowerup.com/downloads/2306/atiflash-4-17/ for USB users
I recommend following this guide for the ATIFLASH :https://www.techinferno.com/index.php?/forums/topic/1331-guide-amd-vbios-flashing/

Note:
You will need a GPU with voltage control. Don't bother if you have a Gigabyte card as they have been locking down there voltages on a good portion of there AMD cards.

Like overclocking when undervolting you are going to want a suitable components to work with. It is recommended you have a solid PSU that can provide consistent and clean power.

Voltage Curve
Below I have provided a Core Freq Vs Voltage Graph. This one in particular applies to hawaii based chips and should not be used to for first gen GCN products. This graph gives an idea at what your voltage would be at any specific frequency especially if you use the function in the graph with a ±30mV should be wear your actual minimum voltage be at any desired frequency. Warning: Spoiler! (Click to show)
Peak Efficiency of the GCN Architecture
It has been known since GCN introduction that GCN is most efficient from the range between 800-900mhz on the core. Heck the 7970 launched with a core speed of 925mhz .This is where you are going to want to aim to maximize your mhz/watt.
Warning: Spoiler! (Click to show)

Some More Data and Reasons
I have provided some measurements that I obtained from GPU-Z. The data is only as accurate as the sensors and software i used. These values were obtained for running Hitman:Absolution maxed out at 1080P for 10minutes. The GPU used is the MSI R9 390X. As we can see from the data the when I give up 20mhz and drop a solid 100mV the average power in drops by 50W and the max power in drops 60W. With less load variation the power supply does not need to work as hard. The temps drop slightly (as I used the default fan curve here) but the fan speed drops from 44% to 32%. This leaves a strong drop in noise making the card that much more quieter. Warning: Spoiler! (Click to show)

Cold Hard Numbers. The wattage decreased off the wall.

My test system is as follows (Everything that is powered): Warning: Spoiler! (Click to show)
4770K @ 4.4Ghz 2.010VRIN 1.315V Core
32GB of GSkill Sniper 2400mhz 1.65V
Asus Z87-A
MSI GAMING OC R9 390X
Asus Xonar DS
512GB BX100
128GB M550
3TB WD Green 5200RPM
1TB Seagate 7200RPM
AX760
2 NF-F12
2 NF-A15
2 NF-A14 PWM
2 NF-A14 FLX
Mionix Naos 7000
MSI CK Black

Testing Procedure:
I used the game Far Cry 4 for two reasons. It is consistent in its load as i will be staring at a fire inside the safehouse at the Royal Guard Kennels. It is also very heavy on the CPU and GPU providing high usage on both ends.
Settings will be maxed out at 1440P with SMAA. INI edits were done by such as alpha to coverage quality.
I will also be testing with power efficiency (PE) on and off.

The data:


As we see from here we can get quite excellent power consumption drop through undervolting.

The Power Efficiency Option
Based off the data from above it appears that the option doesn't really do much. The option most likely works as it increases the polling rate at which powertune changes the voltages. Ideally this would mean the card would be able to downlock more quickly if there are instances idling to reduce the power consumption. I base this off the fact that adding "PP_AllGraphicLevel_DownHyst" to regedit at value to stopped any downclocking in crimson. That said PP most likely refers to powerplay and allgraphiclevel refers to the DPM states. With the downhyst referring to hysteresis the setting would affect how often the powertune checks to see if it should downclock to reduce power consumption.

Undervolting Auxilary Voltage and its Effects

After dropping it by a whopping 131mV i have found that the power consumption does not change at all. This was done at a BIOS level. However when done on the software side suchas MSI-AB, I noticed a drop of 7-8W. Not bad for -100mV. That said, don't bother undervolting auxilary because there are major stability issues if you go too low. Due to that it is often not worth it due to the risks.

On to the Actual Undervolting!
Requirements:
-A stressing app and time

I advise against using "apply overclock at startup" while undervolting. If you undervolt fails this can lead to the a constant boot cycle unless booted into safe mode.

Like overclocking you will want to be looking for artifacts that occur. So, using your overclocking app you will want to follow this order:Drop the voltage->Check for instability->If fail decrease core frequency, if pass decrease the voltage again. This is a rinse and repeat process. I recommend dropping the voltage by 6mV intervals and the core by 10 or 5 mhz.

Notes:
When undervolting second gen GCN cards (Hawaii) you might find some stability by also dropping the memory clock as Hawaii has the memory tied to the core voltage.
Also if you set the voltage too low you may find instability on your 2D clocks. This is because second and third gen GCN cards use offset rather than a set voltage and when you have it applied it will affect all states. For example idle voltage is on my 390X is 0.9V. However if i do a -100mV offset it will hit 0.8V which may cause it to go unstable at desktop.I have provided a workaround under the "Bios editing."

Bios Editing

Disclaimer:
I do not take any responsibility for any mistakes you make. When you do a bios edit you accept full responsibility on the chance you may make a mistake and brick your GPU. Also credit to gupstergs thread for making this part possible.

This only really applies to second and third gen GCN as you can have programs such as MSI AB apply your undervolt at startup for your first gen GCN card.
Once you find your desired frequency at X voltage I recommend you set it in bios for second and third gen GCN cards as this will allow a workaround for the offset. I will only be covering second gen here.
Warning: Spoiler! (Click to show)
HawaiiReader
Exporting your stock bios is done VIA GPU-Z. This is done by clicking the arrow beside the "bios version" and saving it. This will be the bios you will be working with. Opening HawaiiReader you will do the following:
1. Open and direct file to the bios
2. Save the bios as something else. This way you will have your stock bios and X bios in case something goes wrong and you need to reflash your stock bios on.
3. With your X bios you will not want to set your desired freq @ voltage. This is done going to the powerplay tab and inputting your voltage at under the "vol" heading and DPM 7 column. The value you put here MUST be the same as the value placed under every other table. Meaning DPM7 voltage and value must be the same in the following tables: GPU freq table, MEM freq table, StartVCELimitTable, StartACPLimitTable, StartSAMULimitTable and StartUVDLimitTable. The latter four are found under the limit table heading.
Eg. I left the frequency the same (1080mhz) but dropped the voltage by a solid 100mV. Using Aida64 i right click bring up a list then->Video Debug->ATI GPU registers. Here it gives the "GPU Pstates List" where the DPM7's VID =1.3XXXXV. From there I took off 0.1V and set to 1.2XXX volt in the bios. The exact value put in can be found in gupstergs hawaii bios editing thread linked at the beginning of the thread.
4. Save your edits and then flash your new bios.

Beyond that -100mV

Say you are like me and want to maximize frequency while using the ABSOLUTE minimum voltage. There are inherent problems to this especially once you go below 1000mhz. For me I found that 965mhz core and 1250mhz memory was the best in regards to perf/watt. This was done with -50mV on top of the -100mV from the bios.

There are issues that crop up at low frequencies and voltages and it has to do with how powertune works. Powertune swaps between DPM states with extrapolation in between. When you hit too low voltages (like i have with the addition -50mV ) you will have several states sharing the exact same voltage while differing in frequencies. Warning: Spoiler! (Click to show)

[ GPU PStates List ]

DPM0: GPUClock = 300 MHz, VID = 0.92402 V
DPM1: GPUClock = 533 MHz, VID = 0.97536 V
DPM2: GPUClock = 709 MHz, VID = 1.02669 V
DPM3: GPUClock = 818 MHz, VID = 1.05852 V
DPM4: GPUClock = 864 MHz, VID = 1.05852 V
DPM5: GPUClock = 904 MHz, VID = 1.05852 V
DPM6: GPUClock = 936 MHz, VID = 1.10986 V
DPM7: GPUClock = 965 MHz, VID = 1.15503 V

Notice how DPM3-5 share the same voltage while having different frequencies. If the load is too low you can have crashes happening due to how powertune acts in this region. This particularly happens when you use the function FRTC and the frequency fluctuates. The work around this is to actually use a higher frequency and voltage. Mine is 1060mhz and -19mhz as it creates a larger range between the states as seen here:
Warning: Spoiler! (Click to show)

[ GPU PStates List ]

DPM0: GPUClock = 300 MHz, VID = 0.92402 V
DPM1: GPUClock = 533 MHz, VID = 0.97536 V
DPM2: GPUClock = 780 MHz, VID = 1.02669 V
DPM3: GPUClock = 900 MHz, VID = 1.05852 V
DPM4: GPUClock = 950 MHz, VID = 1.10986 V
DPM5: GPUClock = 995 MHz, VID = 1.15503 V
DPM6: GPUClock = 1030 MHz, VID = 1.18686 V
DPM7: GPUClock = 1060 MHz, VID = 1.20637 V

With no overlapping voltages at different states there are no issues related to powertune and FRTC.

Dangers of undervolting

There are no inherent risks to undervolting unless you mess up. Then its your own fault. In theory the use of lower voltage should increase the lifespan of your GPU as less heat is being pumped through your transistors.
As documented in the Tomshardware review from the very start of the thread lower voltages means lower temps. Lower temps means that fans spin slower. With a slower spinning fan there is less heat transfer between the air and the heat sink. This can cause temps to increase. The PCB will also be hotter due to slower spinning fans.The work around this is to use a more aggressive fan curve to increase the heat transfer.

I will be updating this thread once I obtain a power meter to show actual power saved from the PSU's side of things rather than software with graphs showing voltage VS power consumption and frequency obtained vs power consumption.
Worldwin is offline  
Sponsored Links
Advertisement
 
post #2 of 3 (permalink) Old 02-29-2016, 12:12 PM
New to Overclock.net
 
oaijsdoias's Avatar
 
Join Date: Sep 2015
Posts: 25
Rep: 3 (Unique: 3)
great guide!
the power efficiency gains one can get from undervolting are pretty big
oaijsdoias is offline  
Reply

Quick Reply
Message:
Options

Register Now

In order to be able to post messages on the Overclock.net - An Overclocking Community forums, you must first register.
Please enter your desired user name, your email address and other required details in the form below.
User Name:
If you do not want to register, fill this field only and the name will be used as user name for your post.
Password
Please enter a password for your user account. Note that passwords are case-sensitive.
Password:
Confirm Password:
Email Address
Please enter a valid email address for yourself.
Email Address:

Log-in



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Show Printable Version Show Printable Version
Email this Page Email this Page


Forum Jump: 

Posting Rules  
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off