![]() |
[quote=geoff;145624]Hyperthreading can sometimes work well even when both processes are executing the same type of instructions. For example if two 32-bit processes are executing instructions that operate on the lower 32 bits of an %xmm register, then I think hyperthreading can combine both instructions and execute them together as one 2x32-bit vector operation.[/quote]
So, two similar processes of a sieve/TF program running simulatenously, or two LL/LLR/PRP/etc. processes running on similarly-sized numbers, would gain a greater advantage than if you were running, say, one sieve/TF process and one LL/LLR/PRP process? |
[QUOTE=mdettweiler;145626]So, two similar processes of a sieve/TF program running simulatenously, or two LL/LLR/PRP/etc. processes running on similarly-sized numbers, would gain a greater advantage than if you were running, say, one sieve/TF process and one LL/LLR/PRP process?[/QUOTE]
Not necessarily, it depends on how the programs are written, but just because two programs are making heavy use of the same type of instructions doesn't always mean that nothing will be gained by hyperthreading. Some programs work best when running two copies of the same program, others work better when run together with a completely different program. Yet others are not suitable for hyperthreading at all, usually because they are so tightly coded that there are no spare resources to share with another process. I don't understand enough about hyperthreading to predict how two programs will work together, I just recommend experimenting for yourself. |
[quote=geoff;145630]Not necessarily, it depends on how the programs are written, but just because two programs are making heavy use of the same type of instructions doesn't always mean that nothing will be gained by hyperthreading. Some programs work best when running two copies of the same program, others work better when run together with a completely different program. Yet others are not suitable for hyperthreading at all, usually because they are so tightly coded that there are no spare resources to share with another process.
I don't understand enough about hyperthreading to predict how two programs will work together, I just recommend experimenting for yourself.[/quote] Oh, I see--apparently I made a little blooper when reading your earlier post and thought you said that hyperthreading generally performs [i]best[/i] when run with two similar applications. :blush: Now I get it. :smile: Unfortunately I don't have a hyperthreaded CPU any more (though in a way that can also be seen as fortunately so, since my hyperthreaded P4 was replaced with a much faster Core 2 Duo when it got fried by mysterious unknown forces), so I can't test any of this out for myself--I'm just speaking entirely based on experience from my old CPU, which admittedly isn't too much (since for most of that CPU's tenure I was actually somewhat mistaken about how hyperthreading actually worked). :smile: |
question: is it more efficient to run one copy of prime95 on both cores of a dual core machine for 2 hours a day, or one copy on each core, 1 hour a day each. (i ask this because factoring apparently doesn't produce a "helper thread", unlike primality test. speaking of which, how does the helper thread work while running primality tests?)
|
| All times are UTC. The time now is 14:53. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.