Sunday, December 22, 2013

GPU Mining with the Radeon R9 290X - How to Get 930 Kh/s at ~82 Deg C (Litecoin and Other Altcoins)



THIS GUIDE IS NOW OUT OF DATE.  Please see the new guide HERE.
This guide will focus on how to fine tune the settings on your Radeon R9 290X to achieve 930 Kh/s.This guide contains everything I've learned while testing get the most of my R9 290X. I have not yet tested how much energy this setup uses, but I plan to get a kill-a-watt in the near future and I'll report back.  This guide focuses solely on performance.  First of all, here are the system specs I used during my testing:

XFX Radeon R9 290X - 4GB - Fan Cooled (important: computer case left open for airflow)
16GB System Ram
Windows 8.0
850W Power Supply

Programs You Will Need

CGMiner 3.7.2 - http://ck.kolivas.org/apps/cgminer/3.7/  (be sure to get 3.7.2)
CGWatcher 1.3.3.2 - http://manotechnology.blogspot.com/p/cgwatcher.html (bottom of page)
MSI Afterburner 3.0.0 Beta 17 - http://event.msi.com/vga/afterburner/download.htm (must be BETA)
AMD Catalyst Control Center 13.11 - http://support.amd.com/en-us/download

-In order to achieve best results, you'll need to download the exact versions listed above.

Installing Your Drivers/Catalyst Control Center

I won't go into detail here.  This should be done as soon as you installed your R9 290X graphics card.  If you do not have Catalyst 13.11, use the link above to download that version.

The Perfect Overclock Settings with MSI Afterburner BETA


Make sure you download the MSI Afterburner 3.0.0 BETA 17.  I had big problems with my R9 290X using any version but the BETA.  Without the BETA version, I was not able to overclock my 290X's memory without crashing my system.

Afterburner Settings:

Once you've installed MSI Afterburner Beta which you just downloaded, use the following MSI settings to achieve maximum performance.  Be sure to set the drop-down box near the bottom to "without PowerPlay support".  Also, check "Start with Windows" and "Start minimized" if you would like these settings to take place automatically when you restart your system.


Next, set your Fan setting on the Fan tab.  This will stabilize your card around 81-83 degrees Celsius.  Your hash-rate will fall if you get much hotter than 89 C (even though the card is rated for 95C, that does not give the best performance).

NOTE:  In order to achieve 81-83 Deg C, you must remove the side of your tower case unless you have excellent airflow.  Otherwise you will be around 89 Deg C.  Even at 89 C this card will still produce 930 Kh/s.  We're trying for 81-83 for longevity since it will most likely be running 24/7.  You can experiment with your tower case open and closed to find the best setup for your tower's airflow.

Here are the points you need to set:
Up to 30 C, 40% fan speed
At 50 C, 50 % fan speed
At 80 C, 70% fan speed
At 90 C, 100% fan speed
Check "Enable user defined software automatic fan control"
Fan speed update period = 5000
Temperature hysteresis = 3


Now let's take a look at the main settings for overclocking your R9 290X:
Again, you must use the BETA version of MSI Afterburner or you may experience BSOD or black screen crashes while overclocking your memory!
-We will not change the core voltage in this tutorial.
-Power limit = +20
-Core Clock = 1025
-Memory Clock = 1500
-Fan speed = Check "Auto" button and press "User Define" to apply the fan curve we set during the last step.  If you pressed "User Define" correctly, the Fan Speed box will now be highlighted in Green as seen in the picture below.
-At the very bottom of the MSI application, make sure "Apply overclocking at system start-up" is activated.


Now, restart your system and ensure MSI Afterburner starts up and immediately overclocks your card.  You should see your screen flash a couple times while the overclock settings are applied.  

Setting up CGMiner

This step is straight forward.  Download CGMiner 3.7.2 from the link at the top of this post and unzip to any location on your hard drive. Remember where you put this folder.  You will need to tell CGWatcher where to find it.

Setting up CGWatcher

Here we'll tweak the final settings and begin mining.  Download CGWatcher from the link at the top of this post.  The download link is near the bottom of CGWatcher's page. Extract CGWatcher to any location on your hard drive similar to how you extracted CGMiner.  Create a shortcut on your desktop to CGWatcher.exe. Now go ahead and start CGWatcher.  If you get any API connection errors you will need to run CGWatcher as administrator(Right click the CGWatcher icon->select "properties"->go to compatibility tab->check "Run this program as an administrator"->select "OK")

CGWatcher Settings

Click on the "Settings" tab in CGWatcher.  Click on "Manage Profiles".


Once in the Profile Manager, click "New".  Make a name for your profile.  For example, "Solo", or "LTC Pool 1".  For the "Miner Path" field, click the 3 dots "..." and select the file cgminer.exe where you extracted your CGMiner files.  

Next, copy and paste the following text into "Miner Arguments".  Replace all characters in red with your solo or mining pool information.  If you prefer to use a .conf file, use the values below while creating it.

--scrypt -o <SOLO ADDRESS OR POOL ADDRESS> -O <YOUR USERNAME>:<YOUR PASSWORD> --gpu-platform 0 --worksize 256 --vectors 1 --intensity 20 --gpu-threads 1 --log 3 --thread-concurrency 33792 --lookup-gap 2 --api-port 4028 --expiry 120 --queue 1 --scan-time 60 --temp-hysteresis 3 --temp-cutoff 99 --temp-overheat 95 --temp-target 90 --gpu-powertune 20

A Note About Expiry, Queue, and Scan Time Settings

The default settings for expiry, queue, and scan time provided above are fine for pool mining or solo mining up to about 1.5 difficulty level.

If you're solo mining, depending on the difficulty level, you may want to adjust Expiry, Queue, and Scan Time settings.  For example, if I'm solo mining at difficulty 0.25 for a coin that generates a target 1 block per 20 seconds, I would set my scan time to 1, queue to 0, and expiry to 23.  This means CGMiner will scan data every 1 second, I would have no new work queued up so my system would have to grab fresh data as soon as it's needed, and all work would expire after 23 seconds (since there should be a new block every 20 seconds in theory).  The end result of this tweaking would reduce the number of rejected blocks found while solo mining.  In my experience, it reduced my solo rejects from ~20% down to ~14% on low difficulty coins.

Final Steps

Once you have entered all the miner arguments, click "Save", then "Close".

Back on the Settings tab once you've saved your new profile, select your new profile from the drop-down box and click "Save Settings".  Your profile is not active until you have selected it and clicked on "Save Settings".

Now, open a command prompt.  For up to Windows 7, Start-> Run->Cmd.  For Windows 8, right click in the lower left of your screen (where the start button used to be), click run, and type "cmd" and ok.  Next, type the following commands, one at a time, and press enter after each.  You should see a success message after each one:

setx GPU_USE_SYNC_OBJECTS 1
setx GPU_MAX_ALLOC_PERCENT 100

Your settings are now complete.  Open up your wallet in server mode if you're solo mining and click the "Start Mining" button or if you're pool mining just click the "Start Mining" button.

Here's a look at my CGWatcher screen after I've been mining for almost 2 days straight(click to enlarge):


If you found this information useful, I graciously accept tips in Litecoin and Bitcoin.  Your support will help grow my mining rig while providing me with more topics to write about.

Bitcoin:  12YzcMGTULhAKLsWp85zURyEFNv1vk7S6H
Dogecoin:  DKaBTuog675uK7w8Wqme53NNEWMrHZV9ES


50 comments:

  1. my 2 290x are hitting 700kh/s so this guide isnt that optimal.

    ReplyDelete
    Replies
    1. You're getting 700 after following every step of this guide? What are your system specs? Could you copy and paste the miner arguments you're using (without your username and password of course).

      Delete
  2. --scrypt -o stratum+tcp://stratum.dogehouse.org:3333 -u pass -p pass --gpu-platform 0 --worksize 512 --vectors 1 --intensity 19 --gpu-threads 1 --log 3 --thread-concurrency 33792 --lookup-gap 2 --api-port 4028 --expiry 120 --queue 1 --scan-time 60 --temp-hysteresis 3 --temp-cutoff 99 --temp-overheat 95 --temp-target 90 --gpu-powertune 20


    Have tried different settings, i have a smililar setup as u, just got 2 of them instead. And i have followed every step in ur guide.

    ReplyDelete
  3. In researching this a little, I have found other people having the same problem of 700 Kh/s when using 2 r9 290x's. I'm wondering if this has to do with the way the two cards interact with each other. Could you try disconnecting one of the cards and see if your hash rate increases? That way we can rule out an issue with the cards working nicely together. Let me know what happens and we can take it from there. Also, when testing just a single card, try using intensity 20.

    ReplyDelete
  4. I have run one card at first at 800+, then when i got my second one i reached 850ish with both. Then it startaed to get bluescreens, so i formated my computer and after that i cant reach that 850 again, Dunno whats wrong here. Have tried different drivers aswell.

    ReplyDelete
  5. I was experiencing blue screens whenever I would overclock the GPU memory until I found the Beta version of MSI Afterburner. From your comments above, the only other thing I can think of is a possible system RAM, motherboard, or power supply malfunction. Also, not sure if you did, but you don't need to install the AMD SDK, it's already included in Catalyst Control Center 13.11.

    ReplyDelete
  6. With 4-way 290x max hastrate is 3080Kh/s
    With one 290x is 920kh's.

    ReplyDelete
    Replies
    1. +1 Thanks, I thought it was something like that.

      Delete
    2. Same here. I had to turn off crossfire. I messed with all kinds of settings, I still only get 3080k. Anyone know any other tricks, let me know.

      Delete
  7. make sure cross fire is off. I have 3 290x 2 get 980kh's the primary gets 930. I can post my settings if anyone likes

    ReplyDelete
    Replies
    1. That would be excellent if you don't mind. I'll be adding more 290Xs to my rig shortly.

      Delete
  8. perry hothi - yes please do that!
    I also have 2 x 290x and so far haven't been able to get past 790/780Mh average for the two cards and I was planning on adding a third as well.
    I haven't tried Crypto Maniac's exact settings, as I get crashes when trying thread concurrencies that big, but I will try to mimic them more closely later today...

    ReplyDelete
  9. i have 4 cards and did this setup to a tee, I only get around 710Mh. I also tried disabling crossfire and I have MSI and turned on the afterburner. There must me something different. The only thing I have different is i have the newest CCC not the beta. Hmmm

    ReplyDelete
  10. Hi Maribel! There are more factors at play when using multiple cards together. I have not experimented with that yet. This guide will only be a starting point for tuning a multi rig. Once I'm able to test multiple 290x's together I'll write another guide for that set up. Perry, above, seems to have it correct. Maybe he'll post his settings as well.

    ReplyDelete
  11. OK, actually I got them to 830k now each card with Overclocking. I set the block size to the largest setting on weminelitecoin 1490. Confused about if crossfire should be on or off. Yes, would love to know what settings are for multiple cards, especially g 1 and g 2 settings and anything to get it in the 900-1000 range.

    ReplyDelete
  12. will MSI afterburner work with my Sapphire Radeon R9 290x?

    I get 850k/hash with each of 3 Sapphire Radeon R9 290x cards for a total of 2.56 hash, although my temp is at 94 degrees per card using the settings above.

    ReplyDelete
  13. Hi Jason - MSI should work with any 290x. Getting 850 Kh/s sounds like what others have been able to get using multiple 290x's. About the temperature, are you leaving the side of your case open? That made a big difference in my case, and also increased my hash rate having the lower temp.

    ReplyDelete
  14. I have 290x and get around 875 Kh/s per second on 3 cards. I'm using 33000 thread intensity and I20 with 1 gpu thread. The other settings don't seem to make any difference. I can keep my cards anywhere from 75 - 92 F and they hash at the same rate. GPU at 920/1490. 1500 mem rates actually run better, but I get hardware failures occasionally so I dropped it down a few.

    ReplyDelete
  15. I have 4 cards going with Windows Pro 8.1, critical updates only. What I had to do is run the latest CCC 13.12. I also ran the newest CGWatcher 1.3.3.3 in order for it to work. With 4 cards it fails with Crossfire enabled. I also have a Killawatt hooked up. I have two 1200W power supplies jumpered together for 2400W. I will check tonight what the Killawatt reading is. The 2nd 1200W is used only for powering the right 2 cards. I set it up remotely, so I have to check the Killawatt tonight. I will post back. Please anyone with 4 cards let me know your settings. Right now I am using the 920/1490 suggestion and it is working.

    ReplyDelete
  16. The Kill-a-watt showed about 540W for two cards alone running at 800kh/s. So 270W a card pretty much exactly. Perhaps I will put the Kill-a-watt on my other power supply to see what it pulls with the Motherboard, CPU, 4 PCI slots, hard drive etc....

    ReplyDelete
  17. I'm getting everything lined up to install and test, but I don't see an obvious way to get Beta 17. (The "current beta version" downloads Beta 18.) I'll go forward with what I've got, but if anyone's had any trouble, chime in here?

    ReplyDelete
  18. I upgraded to 18 and it works just the same...

    ReplyDelete
  19. All - After mining with my 290X for about a month, I almost have enough to buy a second 290x. I will update everyone on this blog with my configuration once I have it set up.

    ReplyDelete
  20. Last night I measured the first 2 cards and the motherboard. It was about 850W on the kill-a-watt, where my other power supply pulling about 550W with the other 2 cards.

    ReplyDelete
  21. I am running 3x R9 290x - followed your guide I am getting 2.98 Mh/s - I am using your solo mining suggestion barely getting any rejections, I am at middlecoin. Any other helpful advice maybe I am overlooking?

    ReplyDelete
    Replies
    1. Hi Robert, it sounds like you're getting a fairly decent hash rate. I should have more information this upcoming week because I'll be adding two more cards to my rig. I plan to document the whole thing.

      Delete
  22. try changing the settings to 1025/1490. Did you turn off crossfire? also maybe turn off AMD overdrive if you are using MSI overclocking. I think with multiple cards ULPS should also be disabled, I am working on trying this now. Many people suggest to play with the clock speeds until you find what is right for the coin you are mining.

    ReplyDelete
  23. Thanks for posting this. Working really well with 1 x Sapphire R9 290x mining at 940 Kh/s.

    ReplyDelete
  24. hi, crypto i am having trouble getting cg watcher to load up, i've followed ur instruction fully.

    --scrypt -o stratum+tcp://freedom.wemineltc.com:3334 -O p x --gpu-platform 0 --worksize 256 --vectors 1 --intensity 20 --gpu-threads 1 --log 3 --lookup-gap 2 --api-port 4028 --expiry 120 --queue 1 --scan-time 60 --temp-hysteresis 5 --temp-cutoff 95 --temp-overheat 95 --temp-target 85 --gpu-powertune 20

    i get this error "cgminer failed to start api on the 2nd attempt. check for invalid arguments or config file settings as theses are the most common reason for this to occur".
    can u help pls?

    ReplyDelete
    Replies
    1. HI, try --thread-concurrency 24500 and --gpu-engine 947 --gpu-memclock 1500

      Delete
    2. Usually when I've seen this error I had an extra space in my cgminer arguments or a missing "-". Place your cursor over the beginning of your arguments and press the right arrow key once at a time and count your spaces in-between arguments. There should be no more than one space between each.

      Delete
    3. thanks crypto i have it working now but i hav another problem i can not get the -tc past 8192 without it crashing and can not pass -i 13 without getting hw errors, yet in guiminer it is set to -i 20 -tc 32760 with a hash of 890.

      Delete
    4. This did improve my performance but only slightly, im still, in my opinion way under performance, Have 3x Gigabyte OC (3 fans) R9 290x cards with these settings i get 2.32mh/s total. Card 1:- 72oC (display) gets 740kh/s
      Card 2:- 84oC gets 810kh/s
      Card 3:- 84oC gets 780kh/s
      Really frustrating this, cant get anywhere near other peoples performance, I would like to get at least 880khs out of each card. Followed this guide pretty much to the letter, what am i doing wrong?

      Delete
  25. thank you! was averaging 750 kh/s now 950!! with 3x R9 290X

    ReplyDelete
  26. Man I don't know what to say, I will start with I love you! I have been trying to make my 5X xfx r9 290x work but I never could get them working properly, I wasted a week trying and always got erros or low hash, or one of them would not work, after a lot o searching on google I came across your tutorial, I followed your tutorial and now all of them are working, i'm getting 880 to 910 hash, I had them running for one hour but than the power went down lol they were sucking more power than my outlet could handle, now I just need to figure out how to undervolt them, your tutorial really helped me! You Rock!!

    ReplyDelete
    Replies
    1. Haha, thanks man! These kind of comments make writing this stuff worth it.

      Delete
  27. Thank you for the guide, I'm new to mining and this was easy to follow.

    These are the only settings that work for me:

    --scrypt -o stratum+tcp://stratum01.hashco.ws:8888 -O u:p --gpu-platform 0 --worksize 256 --vectors 1 --intensity 20 --gpu-threads 1 --log 3 --thread-concurrency 24500 --lookup-gap 2 --api-port 4028 --expiry 120 --queue 1 --scan-time 60 --temp-hysteresis 3 --temp-cutoff 99 --temp-overheat 95 --temp-target 90 --gpu-powertune 20 and --gpu-engine 947 --gpu-memclock 1500

    I have a Xfx DD R9 290x, I'm using MSI Afterburner 18 beta and Catalyst 13.12.

    I'm getting 800 kh/s at 80c, I want to get atleast 900 kh/s. Do you or anyone reading this have any recommendations or a link where I can download Catalyst 13.11?

    ReplyDelete
  28. Thanks Maniac! You got me up and running after making all the mistakes in the world :)

    I'm having trouble stabilizing above intensity 14 at around 600kh/s. Can anyone assist?

    My set up is: 3 r9 290x with axi corsair 1200x windows 7 x64 4gbram --gpu-platform 0 --worksize 256 --vectors 1 --intensity 14 --gpu-threads 1 --log 3 --thread-concurrency 29000 --lookup-gap 2 --api-port 4028 --expiry 120 --queue 1 --scan-time 60 --temp-hysteresis 3 --temp-cutoff 99 --temp-overheat 95 --temp-target 90 --gpu-powertune 20

    ReplyDelete
    Replies
    1. Hi Gerry, try this new guide. It contains tips for troubleshooting low hash rates as well.

      http://www.thecryptomaniac.com/2014/02/getting-most-hash-power-mining-with.html

      Delete
  29. I also have xfx r9 290x Im running 5x! its weird that you are only getting 800, i used the settings on this tutorial and im getting 880 to 915 kh/s at 75c

    ReplyDelete
  30. I've ordered 3 Tri-X Saphire R9-290x's and am wondering if I should not even open them and send them back with all the issues I've been seeing! lol If someone has these cards please post the settings for them thank you.

    ReplyDelete
  31. After increasing my RAM from 4GB to 16GB I am able to run at higher --thread-concurrency 33792. However I get lower hash rates (720 kh/s) with the script above.

    With this settings I'm able to reach 850 kh/s:
    --gpu-platform 0 --worksize 256 --vectors 1 --intensity 20 --gpu-threads 1 --log 3 --thread-concurrency 24500 --lookup-gap 2 --api-port 4028 --expiry 120 --queue 1 --scan-time 60 --temp-hysteresis 3 --temp-cutoff 99 --temp-overheat 95 --temp-target 90 --gpu-powertune 20 and --gpu-engine 885 --gpu-memclock 1500

    I really want to get to 900 kh/s, Can anyone please tell me what I'm doing wrong?

    My Hardware:
    GPU - Xfx DD R9 290x
    Memory: 16GB
    Motherboard: ASUS M4A78T-E

    Software:
    AMD Catalyst 13.11
    MSI Afterburner 18 beta
    CGwatcher 1.3.3.2
    cgminer 3.7.2

    Windows 8.1 (64 bit)

    ReplyDelete
    Replies
    1. Hi Ed. I'm preparing a new blog post to replace this one. Some things have changed since this was written. Do you have at least a 750w power supply? AMD now allows a maximum of powertune 50 instead of 20. In CGMiner, once mining, press "g". This will show you stats about how your GPU is running. If your clock setting is different from what you set, it means the card is not getting enough power and you need to increase powertune. Try powertune 50 and see what results you get. In the new guide I will be getting rid of MSI Afterburner, it does not play well lately. Disable MSI afterburner so it does not start with windows, then restart and try these settings and let me know how it works for you:

      --gpu-platform 0 --worksize 256 --vectors 1 --intensity 20 --gpu-threads 1 --log 3 --thread-concurrency 33792 --lookup-gap 2 --api-port 4028 --expiry 120 --queue 1 --scan-time 60 --auto-fan --temp-target 80 --gpu-powertune 50 --gpu-engine 1000 --gpu-memclock 1450

      Again, in CGMiner, once mining, type "g" and make sure your GPU is running at 1000 core and 1450 mem. If either value is lower than expected it may be a power or heat problem as this card will underclock itself with too little power or too much heat.

      Delete
  32. Hello All! I have written a new guide which is current as of February 15th, 2014. This guide contains some changes due to my recent testing with 5 GPUs. The settings in the new guide have proven to be more stable for me for 1 GPU or 5 GPUs. Check it out here:

    http://www.thecryptomaniac.com/2014/02/getting-most-hash-power-mining-with.html

    ReplyDelete
  33. Thanks for the response and the new guide.

    I have a 1000w PSU. CGminer shows the right numbers from the settings when I press g.

    After hour of reading online I found the reason for my low hashrates. The type of DDR5 RAM in my Xfx R9 290x is Elpida memory which tops out around 880 kh/s.

    I managed to get it up to 870 kh/s with this settings:

    --gpu-platform 0 --worksize 256 --vectors 1 --intensity 20 --gpu-threads 1 --log 3 --thread-concurrency 27500 --lookup-gap 2 --api-port 4028 --expiry 120 --queue 1 --scan-time 60 --temp-hysteresis 3 --temp-cutoff 99 --temp-overheat 95 --temp-target 90 --gpu-powertune 20 and --gpu-engine 919 --gpu-memclock 1500.

    I'll make sure that my next GPU has a Hynix memory.

    ReplyDelete
  34. "some of msi afterburner components are expired, missing or corrupted" while trying to open the msi burner after installation. Anyone experiencing the same issue. Thanks

    ReplyDelete