Jump to content

Hashrate optimization AMD GPU's


Recommended Posts

TL;DR: A too long post on how to get more hash and less power draw from your GPU's, while saving  $20+ per GPU on power costs per year, and maybe increasing hash speeds up to 20%. If you are still interested, keep reading. If you think, BS! my rig produce max hash, then its your loss, max hash doesn't mean u earn the most possible $: you are just making a lot of heat. 

RX550 2GB ITX doing 520 - 530 h/s @ wall power draw of 76 - 77 Watt, or ~ 11.5 h/s/W (max possible hash = max earnings)

RX570 4GB ITX doing 860 - 890 h/s @ wall power draw of 85 - 90 Watt, or ~ 9.5 - 10 h/s/W (for best possible earnings, max hash would be 900 - 960 hash, at <= 8 h/s/W)



First some important thanks to the guys from codpool (I am not affiliated in anyway btw), providing a lot of insights and help setting up my miners: CODpool, which runs various CryptoNight pools (Monero, Graft, BBS, and 20 others or so) with limited pool fees:

  • Central pool page: https://codpool.com/
  • Combined Discord and Telegram chat (thanks to the awesome chat bridge from Bencey). Here you can find me too if you have any questions, suggestions, or want to share your thoughts.

If you like this post, just say hi in the discord or forums, and mine for a bit on a codpool pool, into your own wallet, and maybe add them as fall back pool for when your pool might be down. No need to send me coins or whatever (but maybe send me an other card to test 🙄, as I out-tested my cards for now).

Lets start with why this long-read:

  1. Power costs money (at least for most of us):
    1. 10 Watt power reduction at $0.10 per kWh will give you: 10W / 1000 * $0.10 * 24h * 365.2421875... = $8.77. For a RX570 4GB, lowering default voltages, flashed, and overclocked and stable memory, you can cut 40W easily. 20W more is also possible, as you will see below. Saving you $52.59 on a single card, per year.
  2. Power brings heat (nice when its cold outside, but lower heat is better for your cards, ears, etc.):
    1. Above saving of 60W will give you: 60W / 1000 * 24h * 365.24... = 525.95 kWh. With that amount of power you could make 525.95 / 0.444 = 1184.57 * 1 liter cans of boiling hot tea..., each year.... ( 1 liter = 0.264 US gallon btw).

Starting tips:

  1. Get a Power meter between the plug and the PSU cord (~$10 - $20), so u actually know what power you draw or are saving:
    1. I got this one, which seems to be rather good: brennenstuhl-pm-231-e
    2. Software tools like HWi, GPUz, etc DON'T give you the correct power draw, and are way off.
    3. Maybe get 2, so you can add one on your main rig, and use the other one while testing. Power draw is a good way to spot if something is wrong with your miner (with focus on clocking resets, hanging miner, etc)
  2. Make some simple test setup:
    1. Motherboard with PCIe connection and onboard video (so hash is not affected by the monitor), maybe use a PC-case for power buttons, otherwise use a screwdriver (only if you know what u are doing).
    2. PSU that can handle the TDP of the CPU and GPU, so something like 300W - 500W.
    3. Temporary monitor, mouse, keyboard for installing Windows, and setting your bios right with video output via internal graphics. Later on I prefer to use remote desktop.
    4. Preferably SSD (fast, as u will be rebooting a lot) or old 2.5 inch HDD (they both use not much power, and cause less power fluctuations), although I used an 3.5 inch HDD but that costs a lot of time for rebooting and reading out average power draw.
  3. Download the following software:
    I have provided only 'official' links to the pages of the developers of the actual software, don't go for tools that seem to be more recent, but not from trusted sources.
    1. Windows 10 latest 
    2. Autologon this will make your PC login automatically, even when Remote Desktop is enabled. Just double click the file, and provide your credentials. This helps starting your Miner and other tools to start automatically after a reboot, without the need to login. (if your miner does start, but not continues after a bit, you need to mess with internal graphics in your BIOS, maybe attached a fake monitor dongle, or a turned of monitor).
    3. Often preferred AMD driver, or some recent AMD driver, which I use and seems to give way less memory errors on bad cards.
      1. I don' like the AMD GUI, it is slow, annoying in remote desktop, etc. So I extracted the package, canceled the actual installation, went to Windows Device Manager, chose update driver for a AMD card, selected the C:\AMD folder to be looked into for the driver, and voila.
      2. Compute mode can easily and fast be set via SRBminer, no need for the GUI. Copy the original start .bat file, and make the last lines look like below, and run it as admin:
        SRBMiner-CN.exe --setcomputemode
        timeout 20
    4. HWi, for monitoring memory errors, voltages, clockings, temp, fan speed etc.
    5. AMD/ATI flash for flashing your GPU bios with better straps. 
    6. AMD/ATI pixel clock patcher (needs to be run after flashing GPU bios, or your GPU wont be recognised).
    7. OverdriveNTool, for changing clocks and reduce voltages, (note that for recent drivers, you'll need a recent version of this tool, or even a beta, otherwise some options might not work!)
    8. SRBPimp for making custom straps (to get higher hash rates), use the 'pimp my straps' option, or make straps with some other PolarisBiosEditor.  (I used this RX550 mod to get just a bit better hash than using SRBpimp: MSI AERO ITX RX550 2GB Lexa hynix elpida mod.
    9. Various miner options:
      1. TeamRedMiner, claims to be great for Vega, and is great for RX550s, not yet for RX570s as I tested it extensively.
      2. SRBMiner, easy to use, stable, lots of features, gives good hash speeds for my RX570s, and voltages can be set extremely low, meaning less power draw.
      3. XMR-Stak, more difficult to configure, atm limited hash speed compared to options above
      4. ...
    10. DDU for total removal of GPU drivers if needed, and a clean install, or when you want to update drivers. Just deinstalling drivers won't remove them completely, maybe causing issues
  4. Make some spreadsheet to log all your tests and settings, because after 5 setting changes you wont know what u did before, and with 100s of possible settings, you will get lost, So log the following:
    1. Most important: Power draw (Watt), Hash/s, Memory errors, test duration (say 10 - 15 min each). With the duration you can calculated memory errors per hour (MER/h).
    2. Values set for Core Clock (CC), Core Voltage (CV), Memory Clock (MC), Memory Voltage (MV)
    3. Maybe also actual CV, MV, reported by HWi.

Basics on GPU power draw:

  1. Power companies bill on kWh power usage, which means using 1000 W for 1 hour = 1kWh
  2. Power (W) = Ampere (A) * Voltage (V), and for GPUs (and CPUs) we can only easily lower the voltage, so by lowering voltage, we lower power draw, and therefore costs.
  3. GPU voltages are set well above stable values, to always guarantee good operation under any load. For a RX570 the Core Clock (CC), the Core Voltage (CV) is about 1150 mV, while I run those for mining on 800 mV or less, meaning ( 1150 - 800) / 1150 * 100% = 30% less power draw by the core. Memory voltage is by default around 900 mV, and can be lowered to about 800 mV too, saving only (900 - 800) / 900 * 100% = 11% power draw by the memory. Luckily the core is the largest power consumer, so can we reduce the power draw by about 30%? In the results below I will show you I reduced power from 155 W (stock voltages, CC at stable overclock) to 86 W, or by 44%, but resulting in more hash loss than power gain. Optimum hash vs power usage for me resulted in 90 W power draw instead of 155 W, or a reduction of power usage by 42%.
  4. To measure your GPU power draw, build your rig without GPU attached, boot it, let it run idle for a couple minutes, and read out the power draw at the plug. This is your base power draw, which should about 15W to 30W. Write this down as you later will be needing it. (idle GPUs draw about 10 W to 20 W)


The most interesting part of this post:

In short:

  1. LOG EVERYTHING, especially Hash and power draw, I made this: Example OC Log AMD video cards
  2. Optimize on earnings = $/h * h - W * $/W, not on just hash or h/W.
  3. Use SRBminer as this seems the most stable miner while testing odd stuff, and get a quick and sufficient understanding of your cards behaviour.
  4. Max out MC, lower MV, 
    1.                   (CC    CV    MC    MV)
    2. start: (1244    1150    1925    900) = 887 H/s @165 Watt
  5. Use default CC, lower CV until just stable.
    1. end: (1244    887    1920    775) = 913 H/s @111 Watt
  6. Lower CC by a 50 or 100 Mhz step, then smaller steps (eg do something like 1250 1150 1100 1075 1050 1025)
    1. With each step also lower CV till stable, for less power draw
    2. Got free power? or just don't believe lower CC will earn you more, up it, and if needed power too. (and don't forget to read out power draw)
    3. best: (1075    762    1920    775) = 866 H/s @90 Watt
  7. Hash will drop, but power draw will drop faster till a certain point, upping your hash/W, just log al those points, so you can put them in a chart:
  8. click for larger image:
  9. Some explanation on above:
    1. This is just data for a typical RX570 4GB ITX + SRB, so don't blame me if you get better data, just be proud you got better cards than me, or can tune better! Maybe drop your plots below.
    2. Al cases where I got more than 4 MER/h are left out of the chart
    3. Al runs are like 10-15 minute ones (some are way longer, just to see if I am right)
    4. Chart is based on ~150 test runs, showing you only need a couple of tests. (maybe 20, even just 5 - 10 if you have a set of similar cards)
    5.  Results:
      1. A little bit more max hash, costs a lot more power (= more heat, more MER/h btw)
      2. Lower MC doesn't allow for a lower MV, no h/W gain here for lower MC
      3. So just max out MC, and lower MV till stable, no need to test for other MC than max. (MV draws limited power, so no worries to set it a tiny bit above the lowest value)
      4. Biggest h/W gain comes from lowering CV, this may require lower CC.
      5. Those angled dotted straight lines show the Hash/Watt, so dots more to the left, the better h/, but they also cost a little total hash
      6. If power costs are low, or h/W is high, it could mean almost max hash at best voltages, without lowering CC, might be the best spot. For me this is at about 11 h/s/W, so my RX550s are ~maxed out, while my RX570 produce ~60 h/s less than maxed out

With a lot of details:

  1. Flash your GPU BIOS with SRBPimp + ati flash. (make sure you save the original BIOS per card (yeah, even for the same brand/type/series/serialnumber/etc they might differ, I have 3 identical cards, bought at the same time, each with different original BIOS)
  2. Choose your miner, and apply possible best miner settings:
    1. SRBminer, use defaults as a good start, (my first choice for testing to get good base clock and voltage settings) 
    2. TRMminer, use defaults as a good start, or read here
    3. XMR-stak, defaults suck, you need to google for this, stroll on reddit, check xmrstak.com, read through all open en clossed issues
  3. Make some spreadsheet to log everything you change, and the effects on hash and memory errors of it.
    1. example log:
    2. Vary only 1 item for each test, otherwise you don't know what is causing the changes
    3. Start with defaults, or known OK clocks.
    4. Make runs of say 10 - 15 minutes each, if too many errors, or miner doesn't work OK, just go back to the last setting that worked, and end the run. Apply new settings just before reboot. Always reboot.
      1. Why those long runs?
        1. I make the miner start directly after reboot, so Windows and other stuff will still be starting
        2. Max hash can take a couple of minutes to be reached.
        3. I want a sufficient duration to get a good view of the amount of memory errors per hour (MER/h), as I accept 1 - 4 MER/h max, as long as it doesn't cause errors in the miner. A limited amount of errors does in general not affect your hash rate. Having some MER over time, indicate that you are actually on the maximum possible for a card. If you don't get any, you havent maxed out your card...
        4. In the mean time, you can do something useful, like writing this crap, or do laundry...
      2. Why always reboot?
        1. Crash and/or settings reset in general cause lower hashes 
        2. Closing miner, and restarting in general won't bring you back to max hash
        3. Disableing + Reenabling GPU via device manager (or script) is not (even a 80%)  guarantee the GPU is back how it should work
        4. Changing GPU settings often needs a reboot, especially when it has been under load before.
        5. Changing GPU settings while mining will not give you the results you need, or crash your miner, etc.
        6. In the end it saves you time making runs that are actually bogus.
  4. (Maybe tune a bit with the default miner settings, but discussing that here is not the goal)
  5. Every GPU will have different best settings, not one card is the same, but similar cards, will have close to similar settings.
  6. Find your max possible hash based your GPU properties (stable hash) (log each step/change):
    1. Set / change GPU clocks and voltages using OverdriveNTool, (ODNT)
      1. for RX5XX atleast, leave Core P1, P2 and P7 active, (deactivate others by a click on the PX). First 2 postions are locked in register anyway, and provide a stable, low power draw for when your card is not mining for some reason, and therefore not pulling tons of power.  For the memory, deactivate position P2.
    2. Use all default clocks and voltages, maybe cut core clock already back to 900mV - 950mV
    3. Increase memory clocks in steps of 50 Mhz if you are in a hurry, and do 25 Mhz step back if you notice too much issues , otherwise just use 25 Mhz increases. (Memory clocks are the biggest factor in maximum hash)
      1. For each increase, run for 10-15 min, log hash, power draw, settings, MER/h, and possible other notes like miner settings, BIOS flash etc.
      2. Get some MC with little to no MER/h, and a bit more Mhz will increase the number of MER/h a lot, then you got your max MC on your card.
    4. Cut down your memory voltage in steps of 25 mV, and if needed use smaller steps of 12 mV (use values like X12, X25, X37, X50, X62, X75, X87, X00), till you notice a loss in hash, a crashing miner, or a increase in MER/h. (what I noticed, is that the MV lower limit is basically the same for all realistic MC for a typical GPU).

Tips on miners:

  1. TRM miner needs in general like 25 mV more MV and CV compared to SRB, while the power draw won't increase much. A little more (like 12-25 mV juice here can also improve hash by 10%).
  2. SRBminer is great for all its features and simplicity for tuning. Stak is on that part a disaster.

Tips on rig components:

  1. Use a decent PSU, 80Plus Golds are definitely worth it if you tend to run it for a year or longer. 80Plus Golds are about 5% more efficient than 80Plus Bronze. At say a power draw of 800W, or 800W / 1000 * $0.10 * 24h * 365.24... * 5% = $35.06 savings per year. So you can easily spend that $70 more on a great PSU instead of that crappy $30 PSU that probably will burn your house down too.
  2. Dont run your PSU at 100% power, but stick with about 60% load. This means 3% better efficiency on Corsair PSUs (so not even for the cheap ones), or about $21/year gain based on above, making it worth to just get that bigger PSU! Buy your PSU based on 90% of total TDP, as with undervolting you can bring it back to ~50-60%, and wont overload the PSU when all your GPUs reset to defaults, under full load.
  3. Plus side of those more expensive PSUs, the come with overheat, short-circuit and what not protection, and it probably will save you a new motherboard for wrong made connections etc.
  4. Current SSDs use about 5x less power than a current HDD, older ones can easily go up to 10x, maybe saving you $4/year. Recently I got an 120GB SSD for $25, while the HDDs where larger, and more expensive. As you will be using large page files, so memory not only on the RAM but on the disk, the drives will be loaded continuously.
  5. CPU, get the new cheapest ones, mining on CPU is not profitable in general. Newer CPUs use easily 10W less power when idle than an old one of 5 - 10 years ago.
  6. Risers and cables, don't go for the really cheap ones, and get some spare items too because you can count on it some will fail...


Edited by blyath
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...