![]() |
|
![]() |
|
Thread Tools |
![]() |
#1 |
Apr 2019
3158 Posts |
![]()
I have a core i7 with 4 physical core, 8HT, and another 6/12 core running prime95/mprime respectively. I have them both pretty much just doing PRP or LL with a single worker taking all cores. As I understand, assigning the "logical" HT cores to PRP/LL does not help, but is there anything else they can theoretically be put to use for while those run, like maybe have another worker doing trial factoring, without overall loss in throughput? Or other GIMPs-related programs?
Also I haven't ever tried setting affinity/pinning cores; does it matter to try setting affinity of these cores in any way or does prime95 manage that automatically. By the way how are the physical vs logical cores numbered? Are they split among odd/even? If all physical cores are used by PRP/LL, could a second worker doing TF be pinned to *only* use hyperthreaded logical cores and would it matter? Or are the ALUs or whatever basically completely saturated by PRP/LL such that there's absolutely no more work to be done without "stealing" resources from them? Last fiddled with by hansl on 2019-06-16 at 20:13 |
![]() |
![]() |
![]() |
#2 |
"Curtis"
Feb 2005
Riverside, CA
122378 Posts |
![]()
This depends on your idea of "sensible"; that is, which tasks you consider a good use of CPU time. Both GMP-ECM and NFS sieving only lightly use memory bandwidth, so they can be interleaved on the hyperthreads with only a small penalty to mprime/P95 speed. If your i7 has dual-channel memory (rather than 3- or 4-channel), some of your 4 primary threads are likely stalling while waiting on memory; you can test this by trying a 3-threaded worker and comparing the sec/iter to a 4-threaded worker; on my i5 with dual-channel memory, I lose something like 5% on sec/iter by runnning 3-threaded, but I use that 4th core for ECM work that I find important.
If you place value on that kind of work, it's a nice mix with mprime. Those tasks aren't GIMPS-related, though, so in terms of this project there's no efficient use for those hyperthreads. How cores are numbered depends on your OS. Linux does e.g. 0-5 physical, 6-11 hyper. I think windows does odd/even, but I haven't used win10 so I can't speak with any authority. |
![]() |
![]() |
![]() |
#3 |
P90 years forever!
Aug 2002
Yeehaw, FL
2×3,943 Posts |
![]()
OS logical CPU numbering is irrelevant in recent prime95/mprime versions. Prime95 uses hwloc logical CPU numbering.
|
![]() |
![]() |
![]() |
#4 |
Undefined
"The unspeakable one"
Jun 2006
My evil lair
6,449 Posts |
![]()
To the OP: Note that "physical" and "hyper" cores are the same thing. It is just two interleaved feeds into a single execution unit. So it makes no difference which of the two feeds you choose to use. And you can't prioritise one feed over the other. So if you have a high importance task and a lesser importance task on the same execution unit they will share evenly. There is no way to make one have the first pick of free execution slots.
Measure, don't guess. Just try various combinations and measure the effects. |
![]() |
![]() |
![]() |
#5 | |
"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest
145058 Posts |
![]() Quote:
http://woshub.com/process-priority-m...nt-in-windows/ https://www.thewindowsclub.com/proce...finity-windows |
|
![]() |
![]() |
![]() |
#6 | |
Undefined
"The unspeakable one"
Jun 2006
My evil lair
193116 Posts |
![]() Quote:
Try it. Set two threads of different priority to an affinity where they share one execution unit (two HT threads on one core). And time the results. |
|
![]() |
![]() |
![]() |
Thread Tools | |
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
More cores or less. | Math31415 | Hardware | 6 | 2019-01-16 18:51 |
Cannot use two cores | abelianbhaskar | Information & Answers | 3 | 2018-05-28 15:40 |
Best use of six cores for L-L testing | Chuck | Hardware | 4 | 2011-05-10 03:04 |
worker windows: one per physical/logical core? | ixfd64 | Software | 2 | 2010-12-09 17:38 |
CPU cores | Unregistered | Information & Answers | 7 | 2009-11-02 08:27 |