Question Question about P-cores versus E-cores

GeorgiaOverdrive

Distinguished
May 30, 2014
109
0
18,680
In an Intel CPU with performance cores and efficiency cores, suppose you are running two computationally intensive tasks, How would performance on two E-cores compare to running them hyperthreaded on one P-core?
 
In an Intel CPU with performance cores and efficiency cores, suppose you are running two computationally intensive tasks, How would performance on two E-cores compare to running them hyperthreaded on one P-core?
In the server world the all E-Core Xeon is said that each core is like a single thread of a P-Core (2 e-cores is equal to 1 p-core in performance). Overall the E-Core is about as fast as a Skylake CPU of equal clock speed.
 
Last edited:
  • Like
Reactions: Roland Of Gilead
hyperthreaded on one P-core
On older Intel CPUs, I used to believe that Hyperthreading increased perormance by roughly 20% in some apps, but I think I saw somewhere that Intel is getting rid of Hyperthreading on some modern CPUs.

Much of the time you don't have much control over which cores the scheduler assigns individual tasks to. Does it really matter to you? I'm guessing some games are happy with 8-cores. Other programs might benefit from 128-cores.
 
  • Like
Reactions: Roland Of Gilead
Games often run faster without HT. HT does bring an uplift in multicore performance benches and some apps, and sometimes more than 20%, but it also raises the power required too. Intel dropped HT with Alderlake. Saves them some power draw, and gives better efficiency, IIRC.
 
Thanks. Passmark gives Skylake a single-core performance of 2291, but double that for two of them, so 4582.

Passmark gives 4231 for a single core on i7-14700. When I did a test of hyperthreading years ago, it increased the throughput by 1.55x, so figure 6658 for two threads on a hypertreaded P-core. Which makes one hyperthreaded P-core about 43% faster than two E-cores.

A week ago I had 16 computationally intensive tasks running on a u7-12700. About 10 of them finished in 3 days - the rest took 5 days. I'm wondering if they got sent to E-cores.
 
The intel thread director is aware of the difference between P cores and E cores.
It is also aware of hyperthreading and will dispatch compute heavy threads first on the p cores and not their hyperthreaded companion cores.
E cores are, I think about 1/4 the capability of the P cores.
They are intended for low priority work.
 
OK, I was thinking of rerunning the program and use the resource manager to see which cores were being used. It should put it on the P-cores. I was running 16 computationally intensive tasks with 8 hyperthreaded P-cores and 4 E-cores. Each of the threads should take about the same amount of time, but over half finished in 3 days while others took 5 days.
 
The P-cores are running quite a bit beyond their sweet-spot in terms of power-efficiency curve, so on a per-watt basis the e-cores will look better for a generalized computational workload that's parallelized.
 
Power use is not much of a concern with the i7-12700s I'm using now. They use a fraction of what the Xeons from about 10 years ago that I was using last year. Getting the work done quickly is the primary concern.
 
They use a fraction of what the Xeons from about 10 years ago
I was given an old LGA2011 SuperMicro server board recently and warned the Xeon was a bit "hungry". I filled all 8 memory sockets with 8GB DDR4 DIMMs for 64GB and checked the power consumption. At idle it was around 100W which I though was reasonable for an old system. I could increase RAM capacity significantly by replacing the UDIMMs with RDIMMs or even LRDIMMs, but I'll probably just tinker around with what I've got.

I considered upgrading both my ancient HP servers with a second Xeon each, but didn't think it was worth the expense for my application (less tha $100 for two matched faster Xeons and an extra heatsink from the same model of HP server). My servers would just sit there wasting more power at $0.32 per kWhr.
 
I had four HP Z420s wih 128GB of RAM each, four HP Z620s with 256GB of ram and two Xeons each, and one HP Z820 with 512GB of ram and two Xeons. And all of the Xeons were the fastest four-core Xeons of their time. Oh the fan noise, the heat, and electricity consumption!
 
I did a test on my i7-12700K, and the E-cores did surprisingly well.

I took my current program that uses integers, floating-point, and memory operations. First I ran a single thread on a P-core and then a single thread on an E-core. The P-core was 86% faster.

Then I tested my original question. I compared two instances on two E cores versus two instances hyperthreaded on one P-Core. The P-core was 16% faster. That is not a lot.

I watched the Resource Monitor to make sure the program was doing what I wanted it to do.
 
That sounds about right.

I'd read somewhere that E cores were close to a standard core on a Core i5-6600.

I checked a well known benchmark single thread score.

12700K single thread is 78% faster than i5-6600 and 106% faster than i5-6400.

Current E cores might be faster than those on the 12700K?

Wondering if you ever utilize a Georgia Overdrive. Haven't we all?
 
> Current E cores might be faster than those on the 12700K?
They might be. I do have a i7-14700 that I could use to test, but it isn't my main computer.
Wondering if you ever utilize a Georgia Overdrive. Haven't we all?

I think that is a trucker term. Going south on I-75 from Tennessee into Georgia, the mountain is so steep that you can put it in neutral.
 
They might be. I do have a i7-14700 that I could use to test, but it isn't my main computer.


I think that is a trucker term. Going south on I-75 from Tennessee into Georgia, the mountain is so steep that you can put it in neutral.
Yeah it is a trucker term for neutral from "6 Days On The Road". Lyric is "I've got 10 forward gears and a Georgia overdrive. I'm taking little white pills and my eyes are open wide. I just passed a Jimmy and a White. I been passing everything in sight. Six days on the road and I'm gonna make it home tonight".