In my previous guide RX 470 BIOS Mod I showed you how to make a VBIOS modification to allow your RX series card to perform a bit better than stock by modifying the memory strap timings in the BIOS. While this resulted in a significant 3.5 Mhash/sec increase (15% improvement) going from 22.5 mhash/sec stock to ~26 mhash/sec, there is more that can be done to tune performance even further.
Utilities used or mentioned in this guide:
TechPowerUp GPU-Z – download here
WattTool – download here
Claymore’s Ethereum Miner – download here
There are two directions one can go from here, or a crossroads if you will. On one path we can look to increase the performance even more. Indeed it is possible to gain 27 or even 28 Mhash/sec out of these cards by further increasing the core and memory timings. This will usually necessitate pushing the memory clock to 2000 MHz or even higher, and will require increasing the voltages in most cases.
The second path, and the one we will explore in this guide, is to maintain our initial 26 Mhash/sec hash-rate, but look to reduce the overall power consumption even more. The main way to do this is to look for lower, but stable, core and memory clocks and then lowering the voltages as far as we can while still maintaining system stability. If you followed along on the first guide, the core and memory clocks are already taken care of, as I found those values (1050/1850) to be ideal for tweaking the power consumption.
For either path you wish to pursue the main variable outside of your direct control is the quality of your GPU. By using GPU-Z, a handy utility that gives you a wealth of information and monitoring capabilities of your graphics card, you can get a rough benchmark of your GPUs quality, also known as its ASIC quality.
If you do not have it already, go ahead and download GPU-Z from the TechPowerUp website now. The latest version as of this writing is GPUz v1.11.0.
Once downloaded, run the exe to install it. Once it is installed and running, click on the settings tab to open up the settings window as shown in the image below.
Click on the ASIC Quality tab and you should see something similar to the image below.
In this case my GPU has an “ASIC Quality” of 71.7% and according to the GPU database, it ranks pretty low in terms of quality. I have some cards with ASIC Qualities in the high 80’s that I can tweak to my hearts content, but for the most part this example GPU is pretty unremarkable, so replicating the settings in this guide should be easily obtainable for all but the worst of cards.
The ASIC Quality for the most part will limit you to what your card is capable of, with higher qualities allowing for increased overclocking and/or under-volting with all else being the same. Getting a card with a higher ASIC Quality is sometimes referred to as “winning the silicon lottery” in that if you are lucky and your card has a high quality you will be able to obtain those high 29 Mhash/sec and low power draws you may read on various forums.
Getting back to the guide, with this average (maybe even slightly below) GPU, we should be able to get realistic real-world performance with our example configurations that you should be able to easily replicate with your own GPU.
I am using the Claymore miner version 7.1 for this guide, but feel free to use the latest version. The first place we will make changes from default is with adjusting our core and memory speeds in the config.txt file located within the Claymore directory.
In the example above, I have highlighted the area of concern for this guide. As you can see I will start out with a core clock speed of 1050 MHz and a memory clock speed of 1850 MHz. I also set the core vddc to 950 and the memory vddc to 1000. These values are in millivolts, so they correspond to 0.95 and 1.0 volts respectively. I should also mention that there is some debate over if the mvddc variable actually changes anything on the card or not, as some claim the memory voltages are hard-coded in the voltage controllers.
With these settings in place we can look at the sensors tab of our GPU-Z utility to see two important pieces of information as shown in the image below.
Wow, quite a busy image, but I will explain the important information which I have highlighted with red rectangles. I should also mention that in my test rig, I have two GPUs, so these settings will apply to both of them. Also in the bottom left you can see our config.txt settings again, which are also reflected in the readings of the GPU-Z and WattTool utilities as well.
The initial settings applied via the Claymore miner as defined in the config.txt file go a long way in reducing the power consumption, as the at-the-wall reading for this test rig is already down to 300 watts as measured via the Kill-a-Watt meter. This results in a respectable Watt/MHash ratio of about 5.79 Watt per Mhash (301W/51.9Mhash) using the meter reading and the total hash-rate figures from the image above.
With the use of another handy utility, the WattTool program, available from the Overclock.net website we can further adjust the voltages using an voltage offset. To use WattTool, download and extract the program to somewhere easy to find, again your desktop works well, and much like the ATIWinFlash utility, it is best to right click on the WattTool.exe and run as administrator. This is because the mutex’s can conflict with other tools already running such as GPU-Z, AMD’s WattMan, or even the Claymore miner
Again referencing the image above, we are looking for the Voltage Offset section of the tool. Here I set an offset of -7. Do note that each value of offset equates to 6.25 mV as noted in the tool, so my reduction of -7 is equal to -43.75 mV. Looking at the GPU-Z windows we can see in the two important highlighted areas the GPU only power draw is in the low 60W range and the VDDC reading is 0.9437 V. Swinging over to the Kill-a-Watt meter again, this modest decrease has brought our power draw down even further to 279/280 Watts.
We are now looking at a 5.4 Watt per Mhash (280W/51.9Mhash) ratio, which is pretty good. I usually like to leave these settings in place and run the rig for several hours to test for stability, as it does no good to reduce power to the point your miner is always hanging up or rebooting. If you did find it has crashed, simply up your Voltage offset a bit and try -6 or -5 until you find a stable setting.
In my case, I already know this is stable as the rig has been running over 24 hours before I started writing this guide, so now the fun can begin and I will continue to reduce the Voltage offset little by little until I notice instability. At that point I will increase the offset by a point or two and continue to monitor the rig. Ideally you want to get to the point where you rig is stable for days on end as again there is no point in trying to reduce consumption if it means you rig hangs or is not mining.
Again, I would recommend moving 1 point at a time and letting your rig run for at least an hour before moving on. Since I am comfortable with this rig’s setup I will move to a -10 offset, corresponding to a -62.5 mV reduction. I took a new screenshot of the settings below after running at the -10 offset for another hour to verify stability.
These settings knocked a further 5 watts off the Kill-a-Watt meter with a total system draw of 275 Watts, so as we can already see we are quickly reaching the point of diminishing returns. While further reductions are possible, since we are no longer seeing big wattage drops for our efforts, we will quickly start running into instability issues if we push too much harder. But just for fun and to give some credibility to the above statement, lets go a bit lower. I will next try a -12 offset, for a -75mV total reduction.
My Kill-a-Watt meter reflects another 5 watt drop, or just under 270 Watts, so in keeping with the above observations we are roughly knocking 1 Watt per card off per every -1 in voltage offset. So at the -12 offset setting and with a total system draw of 270 watts, we are at a very nice 5.2 Watt per Mhash (270W/51.9Mhash) ratio. Considering the system (MB, CPU, Memory, SDD, Fans, etc) contributes about 60 idle watts to the total, we are down to about 210 watts for both GPUs or only 105 watts each.
Do note that the at-the-wall readings differ from the GPU-Z GPU only Power Draw readings, as the tool only measures part of the GPUs overall draw. I believe GPU-Z is reading from the PCIe bus only, but I have not confirmed this as fact. If someone knows please feel free to leave a comment below and I will update the guide.
As you can see, we are now pretty much left with trial and error until we reach system instability at which point you will start increasing the voltages back a few point until your rig is stable 24/7. How much further you can go will relate to the ASIC quality of your cards as well as other factors such as the quality and stability of the rest of your system, power supply, and even the quality of your incoming AC power.
I hope you have enjoyed these guides and if you have questions or have anything to add, please use the comments section below.