Overclock.net › Forums › Distributed Computing › Distributed Computing - General › purpose of gpu threads?
New Posts  All Forums:Forum Nav:

purpose of gpu threads?

post #1 of 3
Thread Starter 
Why do some people use one gpu thread in their configs instead of 2? how do you determine what is fit for your gpu without trial and error?
can a resolution be based off of what we know about our graphics cards ability?


i have found that for my card at 8192 thread concurrency, using one gpu thread the hashrate goes up faster
using with guiminer

it just climbs faster to that stable number, but still what determines this exactly? from its hardware persective? or programming?
Edited by DrClaw - 3/15/14 at 7:40pm
post #2 of 3
The amount of thread "tracks" (as I like to call them) is in directly relation to the intensity (how hard to work) your card is running at.

For example, 7950s (280) can usually run intensity 20 (1048576 threads)
Therefore 1 GPU track is optimal.

On the other hand 7970s (280x) love Intensity 13 (8192 threads),
Therefore Dual (or 2) GPU tracks is optimal

The new xIntensity may allow you to run lower intensity and more threads as it's shader aligned, as opposed to the power-of-two alignment of the regular intensity.
Quote:
--- 2014-01-18
MAJOR CHANGE, EXPERIMENTAL: A new way of setting intensity; introducing xintensity!
All of this is credited to ArGee of RGMiner, he did the initial ground work for this setting.

This new setting allows for a much finer grained intensity setting and also opens up for dual
gpu threads on devices not previously able to. Note: make sure to use lower thread-concurrency
values when you increase cpu threads.

Intensity is currently used to spawn GPU threads as a simple 2^value setting.
I:13 = 8192 threads
I:15 = 32768 threads
I:17 = 131072 threads
I:18 = 262144 threads
I:19 = 524288 threads
I:20 = 1048576 threads
Notice how the higher settings increase thread count tremendously.

Now enter the xintensity setting (Yes, I am a genius with my naming convention!).
It is simply a shader multiplier, obviously based on the amount of shaders you got on a card,
this should allow the same value to scale with different card models.
6970 with 1536 shaders: xI:64 = 98304 threads
R9 280X with 2048 shaders: xI:64 = 131072 threads
R9 290 with 2560 shaders: xI:64 = 180224 threads
R9 290X with 2816 shaders: xI:64 = 163840 threads

6970 with 1536 shaders: xI:300 = 460800 threads
R9 280X with 2048 shaders: xI:300 = 614400 threads
R9 290 with 2560 shaders: xI:300 = 768000 threads
R9 290X with 2816 shaders: xI:300 = 844800 threads

It's now much easier to control thread intensity and it potentially allows for a uniform way
of setting the intensity on your system. I'm very interested in constructive feedback, as I
do not have access to a lot of different card models.

This change has been tested on 6970, R9 290, R9 290X - all with equal or better speeds than
regular intensity setting after a little tuning, but your mileage may vary. Don't fret it, if
this doesn't work for you, the regular intensity setting is still available.
post #3 of 3
Thread Starter 
wow thanks alot, this helps understand things smile.gif
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Distributed Computing - General
Overclock.net › Forums › Distributed Computing › Distributed Computing - General › purpose of gpu threads?