Friday, January 17, 2014

GPU Mining State of the Union Address

We're coming up on two months of highly inflated AMD GPU prices, thanks to the explosion of Bitcoin/Litecoin/Cryptocurrency prices. With MSRPs of $299, $399, and $549 for the R9 280X, R9 290, and R9 290X, you could pay for the cost of the GPU(s) in about three months, give or take, at which point any future mining is pure profit (after paying the power bill of course). There are very few investments that can completely pay off in three months, and even with the prices spiking up by 30% we're still looking at four months to recover the initial investment.

But that was the state of affairs last month; has the supply/demand situation improved at all? I did a quick check of online pricing for the pertinent GPUs and came up with the following:

R9 280X at Amazon: $400-600. The XFX card is currently in stock at $400. This is probably the best bang-for-the-buck right now, as you can break 700KHash pretty easily in my experience, so you pay $0.57 per KHash.

R9 290 at Amazon: $470-$620. While the MSI 290 card doesn't show as being out of stock at $470, notice the "typically ships in 1-2 months" part -- no way! There are only four (currently) Sapphire cards left at $490, while the Gigabyte R9 290 is more widely available but at higher prices. At $490 and if you can get as high as 850KHash (though 750-850 is "normal"), the $0.58 per KHash is potentially just as good as the R9 280X. If you only end up at 750 KHash, however, that bumps you to $0.65 per KHash.

R9 290X at Amazon: $630-$790. Obviously, paying over $700 for one of these is simply crazy -- you're better off with either of the above GPUs. Even at $630, where the Sapphire R9 290X is reasonably available, you'd still be looking at 800-950 KHash, which means you're paying $0.66-$0.74 per KHash (and you're probably going to be closer to $0.74 in my experience, as most 290X cards can't seem to hit more than 850KHash).

That's Amazon, but what about other options? Availability appears better at, but pricing is similar: R9 280X starts at $400, R9 290 starts at $500, and R9 290X will set you back $600 or more. Searching Google didn't turn up any other significantly better deals, though I did find quite a few "too good to be true" retailers that way so I'd suggest sticking with places you know you can trust. I'm sure we'd all love to get R9 280X at $230, but right now that's just not happening so be warned.

With all the AMD discussion out of the way, there's an interesting side note to be made: NVIDIA GPUs can mine as well, just not as fast as their AMD counterparts. The older version of CUDAminer wasn't all that great, but an updated releases optimized the CUDA code in December and you can now get at least moderate hash rates. How moderate? Well, it depends on several factors, with memory bandwidth being critical, just as with AMD.

I've run CUDAminer on a few GPUs, and what I'm finding is that with Kepler GPUs and GDDR5, you can get somewhere around 20-40KHash per SMX, with the higher end of that range more for laptops with GDDR5 and only a few SMX units. GT 750M for instance, using K2x32, can give me 80KHash/sec with GDDR5; GT 750M with DDR3 on the other hand only gets about 30KHash/sec. Obviously the profitability will depend on how high you can get your hash rate versus the power draw, but here's the quick solution to getting decent hash rates with NVIDIA Kepler: use "-l K[SMX]x32". You can find the number of SMX units on Wikipedia, or if you know your CUDA core count, divide that by 192. I'll have to do some additional benchmarking, but as an example I can run the following for 220KHash on a GTX 770M notebook that draws 140W:

cudaminer.exe -a scrypt -i 0 -l K5x32 -o stratum+tcp:// -u trogdorjw73.tester -p tester

It's not a ton of hashing power to be sure, but it's still around $1 profit per day (after electricity costs), so that's not too bad. I'm going to have to do some additional testing on NVIDIA hardware for the higher end GPUs, but if you could hit 400KHash/sec on a GTX 770/780 ($2 per day profit), and if you already have such a GPU, there's no reason to not run it when you're not playing games. I personally still prefer NVIDIA GPUs for gaming, and $370 for a GTX 770 is a pretty good price. It will be interesting to see if NVIDIA ever tweaks their future architectures to be more hashing friendly -- I wouldn't be surprised if Maxwell did just that after the crazy prices on AMD GPUs right now!


  1. Considering my experience with AMD RMA's over the last few months NVIDIA may be wise to keep their cards non-mining friendly and avoid the cost associated with replacing cards. :)

  2. Doesn't anybody overclock their cards? I currently have two XFX R9 290's running at 930kh/s. They have the Hynix memory which seems to be much better than Elpida memory. Of course they are using more electricity but I think the overclocks are very worth it.

  3. I also have 2 XFX 290 memory. Sadly, I don't know how to check the memory brand, but they both run at 917 KH/s stable. I can make them hit 930, but they reliably crash after about 12 hours. I also have 3 290x, two asus and 1 XFX. All three hash at 880 KH/s and require an underclock to 925 MHz to hit their optimum hash rate. As said, I don't know how to check the memory, but I have a hard time believing XFX uses cheaper memory in the 290x than the 290. There is some bios issue that is messing with the hash rates.

    I've tried optimizing these on both bios switch settings, so it isn't a low power mode thing.

    1. i searched on '290 to 290x unlock' and found a thread on overclock that had a memory utility. my cards aren't unable to unlock but at least i could see what type of memory was being used.

      not sure about your 290x. i've heard some of those can hit 1000kh/s. thought it was bs until i could hit 930kh/s with my 290's. i have had some instability lately so maybe i will down clock them to where you are at. check the ram you have and see who makes it. i'd also fiddle with the settings some more. you'd think you should hit 950kh/s but maybe i'm wrong.

      i do have a sapphire r9 290 and i can only get it to 876kh/s. it has the elpida memory. i updated the bios on it already.