The mailman brought my brand new Radeon HD 7970 today and of course one of the first things that I wanted to try with it was to see how well it can mine

I've noticed that there's an almost complete lack of benchmarks for this card on the web (the only one I've seen has been the 414MH/s result from tom's hardware) so I've created an account to share my results here.

I'm using cgminer-2.1.1-win32 as my mining software and figured that this would be a plug-and-play deal, but I ran into a couple of initial snags. The first thing I noticed is that the card would report that it was hashing but would never get any accepted results. I was unable to get the phatk kernel working, however I found that by using the "--kernel poclbm" option and editing line 36 of poclbm110817.cl the following way to disable BFI_INT that I would start getting accepted hashes:

-#ifdef BFI_INT

+#if 0

With those two changes to the default configuration of cgminer hashes start to get accepted, but the 290MH/s hashing performance with the default settings (-g 2 -v 2 -w 128) for this kernel were slower than the 310MH/s from the trusty OC'd HD5850 that this new card replaced, so I played around with the --gpu-threads, --vectors and --worksize settings and here's a small table with the results:

--gpu-threads 1 --vectors 1 --worksize 32 : 224MH/s

--gpu-threads 1 --vectors 1 --worksize 64 : 448MH/s

--gpu-threads 1 --vectors 1 --worksize 128 : 446MH/s

--gpu-threads 1 --vectors 1 --worksize 256 : 448MH/s

--gpu-threads 1 --vectors 2 --worksize 32 : 141MH/s

--gpu-threads 1 --vectors 2 --worksize 64 : 285MH/s

--gpu-threads 1 --vectors 2 --worksize 128 : 283MH/s

--gpu-threads 1 --vectors 2 --worksize 256 : 284MH/s

--gpu-threads 1 --vectors 4 --worksize 32 : 66MH/s

--gpu-threads 1 --vectors 4 --worksize 64 : 133MH/s

--gpu-threads 1 --vectors 4 --worksize 128 : 133MH/s

--gpu-threads 1 --vectors 4 --worksize 256 : 133MH/s

(Note: all of these results were using the standard 925MHz core and 1375Mhz mem clocks)

Given these results I figured that -v 1 -w 64 was probably the best kernel setting so I tweaked the number of threads:

--gpu-threads 1 --vectors 1 --worksize 64 : 448MH/s

--gpu-threads 2 --vectors 1 --worksize 64 : 467MH/s

--gpu-threads 3 --vectors 1 --worksize 64 : 474MH/s

--gpu-threads 4 --vectors 1 --worksize 64 : 472MH/s

--gpu-threads 5 --vectors 1 --worksize 64 : 473MH/s

.

. (No apparent trend so I skipped these...)

.

--gpu-threads 8 --vectors 1 --worksize 64 : 473MH/s

So the best settings I could come up with for the day were -g 3 -v 1 -w 64 giving a hashing rate of 474MH/s! Not too shabby considering the card is using stock speeds! And its roughly a 15% higher hashrate than what was reported at tom's.

I'll continue experimenting with other settings over the next few days, but this initial testing makes me wonder what a kernel rewritten specifically for GCN (using the 16-wide SIMD, among other things) could do.

**** UPDATE ****

Someone suggested that I give a recent version of the DiabloMiner a try since it should have decent support for GCN, so I did.

~650MH/s with the default diablominer settings and the card OC'd @ 1125/975MHz:

~530MH/s at standard clocks: