Hello, can someone explain this Compilation Message:Info (11104): Parallel Compilation has detected 12 hyper-threaded processors. However, the extra hyper-threaded processors will not be used by default. Parallel Compilation will use 6 of the 6 physical processors detected instead. Any ideas why I can't access the 12 hyper-threaded processors? Thanks, joe
I noticed that too on my compiles. I believe hyper-threading does not improve performance and may hurt it. Just googling "hyper-thread performance" brings up stuff like so:http://www.pugetsystems.com/blog/2014/07/02/hyper-threading-may-be-killing-your-parallel-performance... So it probably actually helps performance by not using them.
Hyperthreading relies on a thread being available that isn't using part of the processor that is used by another thread. For example one thread doing mostly integer math can hyperthread with a thread doing mostly floating point. When you have lots of threads that all use the same kinds of processor resources, hyperthreading doesn't help. It may actually hurt throughput. The Altera devs probably knew that in parallel compiles, hyperthreading wouldn't help.
Hyperthreading actually relies on one thread being 'stalled' (eg waiting for memory or a pipeline flush).Stalls waiting for the floating point unit may be ok, but it would only apply to trig functions using the x87 not to add/sub/mult/divide. The real problem is that is you have 2 active threads you want them to run on different real processors, not share a single cpu.
Hi all, as people suspected, we measured the impact of HyperThreading on our parallel algorithms and found them to hurt, rather than help. This isn't surprising since our algorithms are usually memory-bound anyway, so trying to do more work while we're waiting for memory just results in *more* demand on the memory subsystems, making the problem worse.Cheers, Adrian Ludwin Altera
Hello! I have also noticed high compilation time (about 3 minutes) on my laptop with hyperthread enabled by default. Did anyone tried to turn off hyper thread in BIOS and how does it affects on compilation speed? Thanks!