![]() |
|
|
#1 |
|
Oct 2011
7·97 Posts |
I have an Intel Core i7 Q740 @ 1.73 GHz and with Prime95 running I have 4 worker windows. When I go into task manager, it shows 8 CPUs and that I am running at 50%. I realize the i7 is hyperthreaded which is why I have '8' cores, but I guess my question is, am I losing out on computational capacity if my system says I am running at 50% and if so, what can be done?
|
|
|
|
|
|
#2 | |||
|
Basketry That Evening!
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88
3·29·83 Posts |
Quote:
NumCPUs=4 AffinityScramble2=01234567 ThreadsPerTest=2 ThreadsPerTest says use two logical "cores". NumCPU's tells Prime95 that there are only 4 physical cores, regardless of Windows. OTOH, P95 should also automatically detect hyperthreading. Try adding these two lines and see what happens. AffinityScramble2 tells Prime95 where to run the second thread for each worker. If there's a worker with affinity set to 0, then the helper thread will be set to 1. If there's a worker on 2, the helper thread will be on 3. For instance, to set 0,4 1,5 2,6 3,7 worker/helper pairs, you would set AffinityScramble2=04152637 . Try changing the others without this though, Prime95 ought to be able to tell which logical core goes with each physical core. Note: Each OS assigns numbers to each core differently. In Windows, I use AffinityScramble2=01234567, but in Linux I use AffinityScrramble2=04152637. But again, Prime95 should be able to detect this. The key thing here is ThreadsPerTest=2. Prime95 should be able to do the rest, though obviously the tools to override it are in this post. Edit: Some passages from undoc.txt: Quote:
Quote:
Last fiddled with by Dubslow on 2011-10-25 at 03:22 |
|||
|
|
|
|
|
#3 |
|
Dec 2010
Monticello
5×359 Posts |
What hyperthreading does is reduces the cost of a context switch, by making jumping from one set of registers to another relatively low-cost in time. It might be better to just run 4 straight workers. Look at your throughput and see.
|
|
|
|
|
|
#4 |
|
Basketry That Evening!
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88
3·29·83 Posts |
Way back over the summer when I got my proc, I found that (with a very minimal amount of testing) that the helper threads helped. (I'd estimate from the measly data set a 10, maybe 15% gain.)
I'd guess that its because if only one thread is being used, it's real easy for something that doesn't actually need time to take time. Or, it could be that (because of OS overhead and having 10's of threads available, or just proc design not based about maximizing single thread output) that one thread is never able to fully use the proc's resources. Or some combination of those two, they're complementary. OTOH, it is still worth bcp19 testing it. |
|
|
|
|
|
#5 | |
|
Oct 2011
12478 Posts |
Quote:
|
|
|
|
|