How to tweak your settings and squeeze the kh/s out of your card using cgminer

First thing you need to do is open up a command window and input this command.This will allow your card to use higher thread concurrencies than normal:

setx GPU_MAX_ALLOC_PERCENT 100

First off you need to get cgminer which you can find here:

https://bitcointalk.org/index.php?topic=28402.0

Once you have cgminer you need to make a new notepad file and put the following inside.

cgminer --scrypt -o (poolurl:poolport) -u (worker name) -p (Worker password) --intensity 13 --worksize 256 -g 2 --thread-concurrency XXXX

(you may need to change g2 for g1 depending on your card)

then save it as a .bat file.

Run this from inside your cgminer folder and it will create a .bin file part of the file name will be tcXXXX, where XXXX is a number, this is your thread concurrency that cgminer tries to auto detect. once you have that number open up your batch file for editing and add the following.

--thread-concurrency XXXX

so it will look like this

cgminer --scrypt -o (poolurl:poolport) -u (worker name) -p (Worker password) --intensity 13 --worksize 256 -g 2 --thread-concurrency XXXX

save the .bat file

now what you want to do is add 2048 to the thread concurrency number and start cgminer each time until it won't start up. then the last number it successfully started at will be your golden number, the highest possible thread concurrency your card will run at.

Now what you want to do is run cgminer and use an overclocking tool like catalyst or gpu tweak so slowly increase your memory clock in intervauls of 25 until your gpu crashes. once it crashes reboot and take your number it crashed at. subtract 50 and that is your number and then you want to add this to your .bat file

--gpu-memclock XXXX

cgminer --scrypt -o (poolurl:poolport) -u (worker name) -p (Worker password) --intensity 13 --worksize 256 -g 2 --thread-concurrency XXXX --gpu-memclock XXXX

Then once you find the maximum memory clock speed, you need to find the sweet spot engine clock speed that matches it. It's a fine line where one more MHz will make the hashrate drop by 20%. It's somewhere in the .57 - 0.6 ratio range. Start cgminer one more time and watch your hashrate. Start your engine clock speed at half your memory clock speed and then increase it by 5 at a time. The hashrate should climb a little each rise in engine speed and then suddenly drop above a certain value. Decrease it by 1 then until you find it climbs dramatically.

Once you have found your optimal clock to memory ratio take the number and add this to your .bat file

--gpu-engine XXXX

to look like this

cgminer --scrypt -o (poolurl:poolport) -u (worker name) -p (Worker password) --intensity 13 --worksize 256 -g 2 --thread-concurrency XXXX --gpu-memclock XXXX --gpu-engine XXXX

My .bat file ended up looking like this on my 7970 and i gained about 70kh/s per second.

cgminer --scrypt -o http://notroll.in:6332 -u (workername) -p (Worker password) --thread-concurrency 16384 --intensity 13 --worksize 256 -g 2 --gpu-engine 1026 --gpu-memclock 1600

Good luck, and if this doesn't work for you, well same old magic discussion applies, I cannot debug every hardware combo out there.

Your numbers will be your numbers depending on your hardware combination and OS, so don't expect to get exactly the same results!

I have an ATI Sapphire 7970 Vapor X 3GB Ram GDDR5

I can't start with these values

cgminer --scrypt -o http://notroll.in:6332 -u (workername) -p (Worker password) --thread-concurrency 16384 --intensity 13 --worksize 256 -g 2 --gpu-engine 1026 --gpu-memclock 1600

but  --thread-concurrency 8192 works.

Do you have 3GB or 6GB Ram on your card?


Try thread concurrency 24576 with -g 1 at intensity 13. -g 2 can cause some cards to not even start with anything higher than 10,000 thread concurrency. You may have to increase your intensity though running a -g 1 with higher thread concurrency. I'd start with 13 then go up till you start getting a laggy desktop.

sorry to necro, but how do I know whether to go g1 or g2? (I have an HIS r9 280x ice q x2) I seem to get better results with g1, but maybe that's just not with a good thread concurrency or something, because my hashrate is still lower than it should be.

Like Batojiri said above, -g 1 is often the better choice. 

i have the same issue im only geting 619 max on my msi 7970,
i have done "setx GPU_MAX_ALLOC_PERCENT 100" in CMD.

cgminer.exe --scrypt -o stratum+tcp://xxxx:xxxx -u xxxx -p xxxx --thread-concurrency 8096 -I 13 -g 2 -w 256 --shaders 2048 --intensity 13 --worksize 256 --gpu-engine 1100 --gpu-memclock 1500

OK im pulling my hair now I have a sapphire 7970 Ghz Edition Vapor X 6 Gig and Im only getting avg 325kh/s I was getting around 500 yesterday, I do not know what Im doing wrong, does anybody have this card and what kind of setting am I missing. I read about upgrading bios and I did that already. Im kinda new to this and help will be greatful!

Awesome! I went from 550 kh to 700! You rock! 7950 AMD Radeon 7900 series Tahiti

cgminer.exe --scrypt -o xxxxx -u xxx -p x -g 2 --intensity 13 --worksize 256 -g 2 --thread-concurrency 11545 --gpu-memclock 1725 --gpu-engine 1045

As much as it hurts to hear it, there is no "guide" to tweaking using cgminer.  Every card is different even between the same GPUs. I have a lot of different GCN cards, 3x 7970s (all reference), a 7990 (also reference) and a 7750.  Between my 5 Tahiti GPUs, almost every single one uses different settings.  

 

Funny enough though the older VLIW4 architecture is much more consistent s I have 4 5770s running from old computers of all different brands and time frames of purchase but they all run exactly the same settings and get exactly the same hash rate.

 

The way to tweak GCN is to literally just play with clock speeds and TC numbers until you find a winner, the magic ratio has been different for almost all of my GPUs.  I know it sucks, and it is an arduous process.  Maybe there is some better way, but I have looked all over for guides and tried them all (including this one, never hurts), none of them have worked.

 

Between 3 of my Tahitis (all XFX cards), the two on the 7990 run the same, but the 7970s runs like crap at those settings.  Change thread concurrency by literally 1, from 16384 to 16385 and it comes to life.

The other two Tahitis I have are the Blue PCB edition 7970 reference cards (one is Visiontek the other HIS, both are really made by the same factory though).  They both suck and wont get over 525 kHash no matter what I do.  They both run slightly different from one another also, I think I have the TC offset by 3.

 

So not bashing on the OP, that may have worked for him, and it may work for some other also who happen to have cards that are similar, but in my personal experience playing with 10+ cards based on GCN between mine and my friends rigs it is mostly just guess and check.  Older cards based on VLIW4 have proven much more consistent (5xxx and 67xx  and below cards).  I have not had any experience with VLIW5 (68xx and up) cards.