Not having ever used one of these E/P mixed cores CPUs I am curious to know if they are painless to use (especially under Linux). Does it ever happen that processes that should run on E cores run on P cores or viceversa? Do you have to somehow specify affinity in executables or there's some black magic that figures out automatically?
Any insights in this regard would be greatly appreciated as I am in need to change my desktop and I'm really curious regarding these 13xxx CPUs.
Intel contributed support which is in kernel versions 3.18 and up. Low priority tasks like the Baloo file indexer in KDE will always try to run on an E core.
You can also manually pin to cores in Linux and some platforms support manual management. When I'm traveling with my Pinebook pro I turn off the big cores which makes the battery last for days (when not watching video).
These E/P cores were introduced by Intel with the 12th gen. When comparing modern laptops the 12th gen Intel models are at a real disadvantage compared to Ryzen 6000 (which has only normal P cores) in battery life tests.
My conclusion is that for now it is more of a gimmick than anything ground breaking.
I wouldn't say it's anything groundbreaking (phones have been doing this for 10 years now and Intel wasn't the first to introduce it to laptops/desktops the M1 was) but it's not a gimmick either. Intel 12th gen is just not a very efficient design and they lost their node advantage. Without efficiency cores the story would be just be "very bad" instead of "bad".
Headline is misleading. And same applies to the text. e.g. 928 vs. 900 difference is around 3% (assuming benchmark scores scale linearly) and 18,453 vs. 16,000 difference is around 15%. At least 15% isn't "runs circles around" kind of situation.
If I were designing a CPU and OS from scratch right now, I'd put in at least a hundred cores. An M1 Ultra has over 100B transistors. That's more than 1000x the transistors of an Allendale Core 2 Duo core from 2007 (which had 170M split among two cores). I could literally fit 100 Allendale cores those suckers on less than 10% of the M1 ultra silicon.
I'd probably have 1-4 fast, modern cores for tasks which don't parallelize. I'd then have a massive number of auxiliary cores for tasks which do parallelize.
I'd also make good use of this to isolate processes, so for example, a rowdy browser tab can't slow the rest of my system down.
> If I were designing a CPU and OS from scratch right now, I'd put in at least a hundred cores.
If you are talking about 100 dead slow cores that lack the soul of a modern processor, well, you don't have to wait or build from scratch, try Xeon Phi. They are dirty cheap on ebay.
> I could literally fit 100 Allendale cores those suckers on less than 10% of the M1 ultra silicon.
That is exactly what they did for the GPU and AI engine part of the M1 Ultra chip. They are just more specialized.
> I'd then have a massive number of auxiliary cores for tasks which do parallelize.
Once you have those tasks suitable for GPU and AI engine removed from your list, you'd be seeing your remaining tasks not that friendly to parallelization in general. Xeon Phi failed for a good reason, people figured that out ages ago.
Unless you spend far too much on more cache per core, you’re going to quickly find that the bottleneck becomes the memory system. Hardly any of these low-priority process that would be scheduled in E cores are actually doing much compute. They’re either blasting memory or I/O, so adding more cores for them doesn’t help much.
~2015 IIRC. It's not a very thorough benchmark though. More something to say "and look these high clocks I reached didn't immediately crash under some load and I got a x% increase in score".
Any insights in this regard would be greatly appreciated as I am in need to change my desktop and I'm really curious regarding these 13xxx CPUs.