setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_USE_SYNC_OBJECTS 1
Coming back to --thread-concurrency - there is a SCRYPT-README.TXT file in the cgminer directory, where you can find all relevant information about tuning the performance of your GPU. I also provide some methods at the end of the post. I would like to quote here the part of SCRYPT-README.TXT about the subject:
Quote: " --thread-concurrency:
This tunes the optimal size of work that scrypt can do. It is internally tuned
by cgminer to be the highest reasonable multiple of shaders that it can
allocate on your GPU. Ideally it should be a multiple of your shader count.
vliw5 architecture (R5XXX) would be best at 5x shaders, while VLIW4 (R6xxx and
R7xxx) are best at 4x. Setting thread concurrency overrides anything you put
into --shaders and is ultimately a BETTER way to tune performance.
SUMMARY: Spend lots of time finding the highest value that your device likes
and increases hashrate."
You should know that there is no exact method in place to determine optimal configuration for any card. All the methods will lead to trial&error if you want the best performance that suits your needs.
Another point is that configuration also depends on the final goal you want to achieve. The goals I could think of are best hashrate possible, best kilohash per kilowatt, best hashrate for quiet operation and lowest power operation. If you know some others you could leave them in the comments below.
If I have time I would write separate posts for every goal and post links here. But for now I could give you two general procedures how you could find your settings.
Method 1
The first method is from ALUCARD (see comments). Additionally to pool details you should provide values for the following attributes: gpu-threads and intensity , and let cgminer to do everything else.
- The --gpu-threads attribute should be changed in the range 1 - 2. I haven't seen somebody who used more than that. My personal opinion is 1 is sufficient for most of the cards. You also have to keep in mind, that setting this parameter value to 2 demands changing intencity to lower value.
- The --intensity value, as I understand it, is an amount of work which CPU submits to GPU for processing. This you could change in the range from 1 to 20, but in the most cases you could start from 13. Values more than 13 are so called "dangerous" and should be watched for sometime before deciding whether they are suitable. Danger comes from the fact that with intensity higher than 13 GPU start to reuse the available memory for additional work. In case it is not powerful enough to complete previous work before its memory is rewritten by the next work you would get corrupted hashes, which result in HW errors and high reject rate in cgminer. HW should always be 0 and reject rate about 1-2% or below that.
- You could also consider to set --shaders attribute to the value shown in the spec of your card. GPU-Z application also shows this number. Providing this attribute would result in different value cgminer would automatically select for --thread-concurrency.
ALUCARD suggests the following:
"Once you determine the optimal intensity for a card, then that pretty much sets all the other parameters and will tell you if you should/can run GPU threads 1 or 2. If higher intensity is capable without rejects then you won't need option 2. Some cards can be "worked" harder and therefore would NOT need to run two GPU instances."
He also menthioned that you have to "fix" the poorly coded vBIOS first in order to get full hashing power. This however could already be dangerous for your card, so you can do it , but at your own risk. One more thing before you rush to google for video BIOS - you can't use your card at full hashing power without proper cooling (opening PC case cover doesn't help much). Keep it in mind!
Method 2
Although quite straightforward the first method doesn't guarantee you the optimal result without re-flashing your vBIOS. I've checked it on my card and none of the above settings have beaten my best result I use at the moment. Cgminer didn't "guessed" right my present --thread-concurrency value. The second method I used by myself is the following.
- Go to the following sites:
https://litecoin.info/Mining_hardware_comparison
https://litecoin.info/Mining_hardware_comparison/raw_data - Find you card from the list in the GPU column. Also consider trying similar cards.
- Settings we are talking about are located in column config. Try all of them. And adjust where you see it appropriate.
- You can also play with columns C - core clock, M - memory clock, V - core voltage( RISKY !!!), but at your own risk. Although quite efficient these three could be dangerous if you don't know what you are doing, so I don't recommend them at the beginning. Without appropriate cooling don't even think of them.
- Also don't expect to see the same KH/s. Take this column as a reference.
- These setting should not be used for mining Scrypt-Adaptive-Nfactor coins, such as VertCoin(VTC).
You have to consider that the cards can be different even from the same supplier. The people posted the results have different mining goals, which I have mentioned before. You have to see by yourself whether particular settings suit your needs. I wouldn't bother because of operating system mentioned also. Try it anyway. Finally cgminer version 3.7.2 would do the job. So don't rush to setup ten different versions - no need. DON'T let your card run on it's own after 5 min. testing. If you like particular settings - watch it for few hours minimum. Look at the reject rate, temperature and HW errors.
Finally I want to share that in the beginning I've tried to get maximum of the card I have. But "at the end of the day" I've found, that the more stable your card is working, the more you get. Just imagine that because cgminer or PC have been frozen for one night/day/weekend - your card doesn't work at all. This is more expensive than not getting those 50-100 KH/s you are pursuing. I don't even talk about power consumption and noise. So in general case look for stability!