mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Hardware

Reply
 
Thread Tools
Old 2013-06-15, 01:19   #1
TheMawn
 
TheMawn's Avatar
 
May 2013
East. Always East.

32778 Posts
Default Hyperthreading

My experience with hyperthreading is that it is an excellent way to generate more heat without accomplishing much of anything, if the physical core is already maxed out with the first thread.

I have a first gen i3 which has two physical cores and four logical cores. Lately, I've been wondering if there was any advantage to running all four workers. I am running two P-1 workers as we speak, but I was wondering if I could run two LL-tests instead and then give each core some other thing to do while it waits for data from the memory.

The box is a dell which won't allow me to run anything other than 2x4GB @ 1066MHz with 8-8-8-24 timings, so I would imagine LL-tests would quickly get bottlenecked.


Short question: Is there a way, that you know of, for me to take advantage of hyperthreading?
TheMawn is offline   Reply With Quote
Old 2013-06-15, 02:27   #2
Batalov
 
Batalov's Avatar
 
"Serge"
Mar 2008
Phi(4,2^7658614+1)/2

22×23×103 Posts
Default

Some users report that sieving for NFS has noticeable benefit from hyperthreading.
Batalov is offline   Reply With Quote
Old 2013-08-06, 17:38   #3
Primeinator
 
Primeinator's Avatar
 
"Kyle"
Feb 2005
Somewhere near M52..

16238 Posts
Default

Would I receive any benefit in hyperthreading LL tests? I have a quad core processor running four LL tests now but Task Manager indicates only 51- 55 percent CPU usage.
Primeinator is offline   Reply With Quote
Old 2013-08-06, 17:47   #4
fivemack
(loop (#_fork))
 
fivemack's Avatar
 
Feb 2006
Cambridge, England

144238 Posts
Default

Quote:
Originally Posted by Batalov View Post
Some users report that sieving for NFS has noticeable benefit from hyperthreading.
Indeed, on my four-core Haswell I get something like 16000 seconds per block when running 8 threads, 11000 seconds per block when running four - nearly 50% more blocks per day when running HT.

But NFS sieving involves quite a lot of waiting for caches, whilst LL is very carefully written to ensure that the floating-point unit is never waiting, and so running two hyperthreads doing LL isn't going to get you anything.
fivemack is offline   Reply With Quote
Old 2013-08-07, 03:24   #5
db597
 
db597's Avatar
 
Jan 2003

7×29 Posts
Default

As fivemack mentioned, the LL code is very highly optimised with 100% utilisation of the FPU. So there's no further efficiency that HT can extract.

In fact, I find my CPU temperatures a bit higher with HT enabled. So if you exclusively run LL and LL Double Checks, you might even want to disable it.
db597 is offline   Reply With Quote
Old 2013-08-07, 05:44   #6
Primeinator
 
Primeinator's Avatar
 
"Kyle"
Feb 2005
Somewhere near M52..

3×5×61 Posts
Default

Quote:
Originally Posted by db597 View Post
As fivemack mentioned, the LL code is very highly optimised with 100% utilisation of the FPU. So there's no further efficiency that HT can extract.

In fact, I find my CPU temperatures a bit higher with HT enabled. So if you exclusively run LL and LL Double Checks, you might even want to disable it.
Not enabled. I like the current extra processor power so that even when I am doing other things on the computer tasks are not slow (and P95 seems indifferent except in 1ms increase in iteration time on one or two cores). Temps are fine now at 51-56 degrees Celsius (usually 52 to 53) with 24/7 running. Plus, it is rather warm in my apartment (too expensive to AC much it it so hot outside).
Primeinator is offline   Reply With Quote
Old 2013-08-12, 23:56   #7
VBCurtis
 
VBCurtis's Avatar
 
"Curtis"
Feb 2005
Riverside, CA

4,861 Posts
Default

Quote:
Originally Posted by Primeinator View Post
Not enabled. I like the current extra processor power so that even when I am doing other things on the computer tasks are not slow (and P95 seems indifferent except in 1ms increase in iteration time on one or two cores). Temps are fine now at 51-56 degrees Celsius (usually 52 to 53) with 24/7 running. Plus, it is rather warm in my apartment (too expensive to AC much it it so hot outside).
This is valid. To clarify: Running more LL tests (Prime95 or LLR) than physical cores adds heat but not performance. Running math programs that wait on cache or memory access for large parts of their runtime will get you "free" work. For instance, my laptop i7 gives up about 15% iteration time running 4 LLR instances when I run 4 NFS threads, while the NFS threads run over half as fast as when the CPU is otherwise idle. Lose 15, gain 55. I'll take it.

ECM and P-1 both qualify for this- the same items that slow-memory users can run to help the project on core #4 can be tried on HT 'cores' to see if overall production increases. There are also quite a few BOINCified projects in other parts of this forum that would appreciate one HT core while you run LL.

Note that Windows is 'tricked' by HT- reports of 50% CPU use are simply false. The 51-55% readings suggest your regular use is 1-5%, and being fed to the HT 'cores' while LL keeps running.
VBCurtis is offline   Reply With Quote
Old 2013-08-13, 02:13   #8
TheMawn
 
TheMawn's Avatar
 
May 2013
East. Always East.

11×157 Posts
Default

I don't really appreciate Windows' account of CPU usage. I wouldn't mind a more comprehensive analysis, i.e. some kind of advanced mode. I know the sort of casual computer user gets a kick out of trying to get the CPU usage widget to go above 20% on their brand new box, but very few people really have any business needing to know what their CPU usage is. Those who do probably realize that it is so wrong some times.

To create my worktodo.txt for 50,000 large exponents to 66 bits I was doing a bit of copying and pasting, and yes 50,000 lines is a lot, but Word 2010 (find and replace function is so nice) was using "25%" for a minute or so. Baloney. The CPU must have been spending 99.999% of its time waiting on something else. Probably the memory, since Prime95 has it maxed out already. Accessing the "paste" data must have been taking a while if it had to compete with 4 Prime95 workers on a fast CPU, but the task manager decided that the one core was completely busy with Word. A memory bandwidth usage indicator could be interesting and useful.
TheMawn is offline   Reply With Quote
Old 2013-08-13, 04:10   #9
Aramis Wyler
 
Aramis Wyler's Avatar
 
"Bill Staffen"
Jan 2013
Pittsburgh, PA, USA

23·53 Posts
Default

Prime95 does run in low priority, and word may well be single threaded, and as such unable to run on more than 1 core.

So yeah, it's possible it did cap a core. :)
Aramis Wyler is offline   Reply With Quote
Old 2013-08-13, 04:30   #10
TheMawn
 
TheMawn's Avatar
 
May 2013
East. Always East.

11·157 Posts
Default

I know it runs on lower priority, but does that include memory access?
TheMawn is offline   Reply With Quote
Old 2013-08-13, 04:35   #11
kladner
 
kladner's Avatar
 
"Kieren"
Jul 2011
In My Own Galaxy!

236568 Posts
Default

Quote:
Originally Posted by TheMawn View Post
I don't really appreciate Windows' account of CPU usage. I wouldn't mind a more comprehensive analysis, i.e. some kind of advanced mode. I know the sort of casual computer user gets a kick out of trying to get the CPU usage widget to go above 20% on their brand new box, but very few people really have any business needing to know what their CPU usage is. Those who do probably realize that it is so wrong some times.

To create my worktodo.txt for 50,000 large exponents to 66 bits I was doing a bit of copying and pasting, and yes 50,000 lines is a lot, but Word 2010 (find and replace function is so nice) was using "25%" for a minute or so. Baloney. The CPU must have been spending 99.999% of its time waiting on something else. Probably the memory, since Prime95 has it maxed out already. Accessing the "paste" data must have been taking a while if it had to compete with 4 Prime95 workers on a fast CPU, but the task manager decided that the one core was completely busy with Word. A memory bandwidth usage indicator could be interesting and useful.
SysInternals Process Explorer gives CPU usage for just about everything, to 2 decimal places. It gives memory usage, but not bandwidth usages AFAIK. SysInternals might be just the place to look for such a thing, though.

EDIT: Searching this Index might turn up something on the memory front.

Last fiddled with by kladner on 2013-08-13 at 04:46
kladner is offline   Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Hyperthreading Primeinator Information & Answers 13 2010-05-20 15:15
Hyperthreading Jud McCranie Information & Answers 11 2009-03-05 06:41
Should hyperthreading be used? Electrolyte Hardware 5 2006-11-08 01:29
Hyperthreading dave_0273 Hardware 5 2003-12-12 13:22
Hyperthreading Prodigious Software 4 2002-12-17 12:31

All times are UTC. The time now is 11:26.


Fri Jul 16 11:26:38 UTC 2021 up 49 days, 9:13, 1 user, load averages: 1.49, 1.61, 1.57

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.