Pages:
Author

Topic: How to Hack Your Radeon 79x0 GPU BIOS (any version) to Undervolt it - page 3. (Read 16414 times)

sr. member
Activity: 392
Merit: 250
It would be easier to buy GPU that is voltage unlocked, its has more flexibility and save time.
Not even close (unless you only run one rig with a few cards).  My world would be a nightmare if I couldn't flash my cards and run Linux.

What do you mean, have you tried runing 6 GPU on window 7?
I mean that I'm running over 250 GPUs.  If I had to use Afterburner to set voltages on all of them, it would be a nightmare.  Simply powering on the machine from a bootable flash drive (or SAN) is a lot easier/cheaper than a full Windows install on a hard drive with Afterburner (which isn't easily scripted).

Wow, that is a lot of GPU. I am thinking to upgrade my 4 GPU window 7 to 6 GPU but some people told me that its unstable and others tell me it should work. Any idea since I believe you used window prior to linux?

Thanks in advance.
hero member
Activity: 642
Merit: 500
It would be easier to buy GPU that is voltage unlocked, its has more flexibility and save time.
Not even close (unless you only run one rig with a few cards).  My world would be a nightmare if I couldn't flash my cards and run Linux.

What do you mean, have you tried runing 6 GPU on window 7?
I mean that I'm running over 250 GPUs.  If I had to use Afterburner to set voltages on all of them, it would be a nightmare.  Simply powering on the machine from a bootable flash drive (or SAN) is a lot easier/cheaper than a full Windows install on a hard drive with Afterburner (which isn't easily scripted).
sr. member
Activity: 392
Merit: 250
It would be easier to buy GPU that is voltage unlocked, its has more flexibility and save time.
Not even close (unless you only run one rig with a few cards).  My world would be a nightmare if I couldn't flash my cards and run Linux.

What do you mean, have you tried runing 6 GPU on window 7?
hero member
Activity: 642
Merit: 500
and if there's an interest to fund such a thing, I'm confident that I could reverse engineer and modify locked card BIOSes to be unlocked.  My time is just spread very thin right now.
hero member
Activity: 642
Merit: 500
It would be easier to buy GPU that is voltage unlocked, its has more flexibility and save time.
Not even close (unless you only run one rig with a few cards).  My world would be a nightmare if I couldn't flash my cards and run Linux.
sr. member
Activity: 392
Merit: 250
It would be easier to buy GPU that is voltage unlocked, its has more flexibility and save time.
hero member
Activity: 700
Merit: 500
hero member
Activity: 642
Merit: 500
Further explanation:

For every 7000 series card, there are five voltages in a table for the "performance" state.  You'll notice that each 7000 series card you buy doesn't necessarily have the same voltage, but the BIOS is identical.  The voltage that gets used depends on the quality of the ASIC on the board.  If your chip has extremely low leakage, the lowest value (of the five voltages) gets used.  Highest leakage = highest value.  Somewhere in the middle = one of the other three values.  There is a function in GPU-Z that will read the "ASIC Quality" value of your card if you're curious.

It's even more complicated for boost BIOSes.  There's *another* table of 5 values for the "boost" state.  The card will switch back and forth depending on the thermal state.

On the 7990 cards, there's a THIRD leakage table (beyond the scope of what I'm writing).

If you want to change the voltage on a 7000 series card, you have to modify the extended voltage tables (referred to as LEAKID_VOLTAGE or VOLTAGE_LUT_ENTRY).  You either need to modify all 5 of the values to be identical (which is wasteful if you flash it to a bunch of cards with different leakage), or you need to modify the values proportionally to be higher/lower.  If it's a boost edition card, you'll need to modify the 2nd table as well.  For the 7990 cards, you'll need to modify the 3rd state table as well (assuming you're keeping the card extremely cool anyways...  otherwise the voltage will likely bounce around).

The cards that are "voltage locked" actually aren't technically "locked".  They still have a variable VRM and can be modified.  The BIOS just has a function that loops and repeatedly sets the voltage.  When you change the voltage with a utility like MSI Afterburner, the voltage actually changes for a split second but it gets changed back by the card's BIOS.  You can still set the voltage in the leakage tables though.

The only utility I'm aware of that will properly modify these tables is here:
http://www.techpowerup.com/forums/showthread.php?t=189089

This utility will modify all 5 voltage values to be the same though.  If you use this to modify your BIOS and then flash it to multiple cards, you're most likely wasting electricity because you'll set the voltage high on a low-leakage chip.  Either that, or you'll flash too low of a voltage on a high leakage chip and it'll be unstable at your desired clock.  In other words -- you'll need to create multiple BIOS files with different voltages and flash them according to your cards for optimal power savings (or modify the files manually with proper voltage "steps").

I spent many full days reverse engineering the 7000 series BIOSes quite a few months back.  If anyone has any technical questions, feel free to post 'em.
hero member
Activity: 642
Merit: 500
Thanks for writing this guide, but be aware that this doesn't actually change the voltage.  It just changes what ADL *reports* as the voltage.  The voltage must be changed by modifying the values sent to the voltage regulator.  The number you're modifying is only a "label" for the voltage used, not to control the voltage itself.  You'll see the voltage change in CGMiner etc, but if you measure it with a meter, it didn't move.
full member
Activity: 200
Merit: 100
This is for Hardware that has Voltage locked via the BIOS.   All you are doing is Lowering the Voltage Lock ceiling down to a lower level.  This way, it is still voltage locked but at a lower level.  therefore unlocking it per say.
member
Activity: 99
Merit: 10
Funny thing is, is that my HD7850's don't really use more power when overvolted, or use less when undervolted.
But, 100W is a huge win, such things mean ROI or no ROI.

Thanks for the guide, I thing many people will find this usefull.
Think most of 7850's are voltage locked. I have voltage slider on my asus/xfx cards and i can move it around. But if i check in gpu-z it's at the same stock value no matter what i do.
sr. member
Activity: 840
Merit: 255
SportsIcon - Connect With Your Sports Heroes
That's an excellent post! I've done it 2 weeks ago, but using an usb pen booting DOS.
legendary
Activity: 1344
Merit: 1004
Funny thing is, is that my HD7850's don't really use more power when overvolted, or use less when undervolted.
But, 100W is a huge win, such things mean ROI or no ROI.

Thanks for the guide, I thing many people will find this usefull.

Maybe your 7850 is voltage locked.
hero member
Activity: 812
Merit: 1000
I <3 VW Beetles
Funny thing is, is that my HD7850's don't really use more power when overvolted, or use less when undervolted.
But, 100W is a huge win, such things mean ROI or no ROI.

Thanks for the guide, I thing many people will find this usefull.
legendary
Activity: 1344
Merit: 1004
The benefit of doing this is what exactly?

I'm going to assume you have free power. The point of this is to reduce power consumption, so lower electric bills. It's also possible the resulting lower temperatures gives higher overclock headroom, even at lower volts.
full member
Activity: 200
Merit: 100
Guys, I have done this on Sapphire 7970 and Gigabyte 7950s.  I had undervolted the ROMs to have them running at lover voltages.
Before specs:
  • 4 x 7950s @ 550kh/sec @ 1000 watts
  • 1 x 7970 @ 700kh/sec @ 350 watts
After undervolting modded stock BIOS
  • 4 x 7950s @ 665 kh/s @ 900 watts @ 1.0v
  • 1 x 7970 @ 730 kh/s @ 250 watts @ 0.962v

To modify your BIOS, follow the instructions listed below.  See Disclaimer below.

  • Grab atiflash and save your bios ("./atiflash -s 0 bios0.back.up.rom" to save bios from card zero),
  • Check that it produces a file of size 128Kb ("ls -lkh bios0.back.up.rom"),
  • If it produced file of size 256Kb, these will appear valid but attempting to write them back to the card will always fail, leaving you without a valid backup! In this case, retry to read the video card bios again specifying an additional size parameter ("./atiflash -s 0 bios0.back.up.rom 20000"),
  • You should save the bios from each card, then use diff to see which match and modify that subset, then flash all the cards,
  • Please check all GPUs stock voltage in cgminer GPU Management and Bios Config File in output of "./atiflash -ai", these can vary between bios in "identical" brand GPUs,
  • Transfer all bios to a Windows PC/laptop using WinSCP, or via Webmail if you do not have WinSCP
  • Open the saved bios in a hex editor, we use Frhed,
  • Convert that bios stock GPU voltage into hex, eg google "1125 in hex" if bios stock voltage is 1.125. The hex equivalent in this case is 0x465,
  • Reverse the stock hex voltage, eg: 0x465 = 04 65 = 65 04,
  • Using your hex editor, search and replace for (reversed stock voltage) with your desired voltage in the same pattern, eg: to undervolt to 0.962V, 0962 = 0x3C2 = c2 03, so you'd replace with ,
  • Save the modified bios to a different file name so you can always write the original back if required,
  • Unlock the bios for the card you wish to flash (eg: ./atiflash -unlockrom 0),
  • Transfer the modified bios back to your (Linux) coin mining rig and write the modified bios back to the video card using atiflash with the -f parameter to bypass checksum checks. In our experience this can fail multiple times before succeeding and some bios require using different write flags (-atmel, -sst).
  • Cold Reboot and use cgminer GPU Management to see new undervoltage in action!
  • We recommend doing one card to start with and not the primary video card until you are confident with the process :-)

After doing all this above, you will save money and be able to run a cooler rig.  I now use 1250 watts total and it a beautiful space heater for my whole house Smiley

Happy Bios Flashing, Video Card Undervolting & Coin Mining!



If you Found this article useful, please send a donation to:

BTC: 1PoN7e4q5DMoTXiU2HYecbaGrb78mSxo6W
LTC: LNYFzi4ed8gBwk8joVpntk5apUcvndu2g9
BTB: BBe9NyL2uzne4ZEXax39huFzUH1XMD4a7t
BTG: gbpuqkpmZVhcJgZBQtmGRamSvLdEhQFEkM

DISCLAIMER: Any and all modifications done here is at your own risk.  I am not responsible if your hardware goes dead, gets damaged, or burns up.  This information is strictly for educational purpose.  Use at your own risk.
Pages:
Jump to: