Intel, AMD and IPC?

Kadathan

Honorable
Mar 25, 2013
156
0
10,710
I read through a lot of arguments around here over which is better. There are some people with very good info in these arguments who post tests and benchmarks to support their arguments, and then there are the people who just say stuff and hope it'll slip by un-supported.

Forget the argument side of things, though - What I am curious about is the superior intel IPC. This is maybe the #1 reason I see for why intel chips are better, but I cannot find these comparison numbers anywhere! I completely understand the idea behind more instructions per cycle - I simply am having trouble digging up any numbers on the comparison between the two. Allegedly intel has a much higher IPC rate over AMD, where can I see this information everyone is referencing?
 
Solution
You could calculate ipc but this changes depending on the instruction complexity. A single threaded benchmark will not exactly show you an ipc comparison since the cpus will be at different speeds. To give a fair comparison they should all be clocked the same. Luckily tom's did do an article limiting multiple cpus to a single core and clocking them all at 3ghz. http://www.tomshardware.com/reviews/processor-architecture-benchmark,2974.html You can see from this, that results vary from task to task.

Certain cpus will be better for certain situations. Ipc is not the end all of gauging performance. There is no clear cut "this cpu is better" especially since most tasks are becoming multi threaded. There is much more to it than just ipc.

Kadathan

Honorable
Mar 25, 2013
156
0
10,710
Is that really it? I was picturing some chart, lol...

Because realistically, when I think about it, ipc would be a lot like a cpu multiplier, right, the more it has the more efficiently the computer would run, in multiples, therefore a processor with say 30 ipc would be 50% faster than one with 20. That's the sort of thing I was picturing.

Are you sure it's just benchmarking results interpreted into a vague numberless value?
 
I think there is a lot going on electrically and logically (branch prediction) in the background but no one bothers to quantify it since you can generalize relative performance via the standard bench suites. And, in highly threaded apps the lower ipc chip with more cores may still win so raw ipc doesnt tell the whole story.
 
You could calculate ipc but this changes depending on the instruction complexity. A single threaded benchmark will not exactly show you an ipc comparison since the cpus will be at different speeds. To give a fair comparison they should all be clocked the same. Luckily tom's did do an article limiting multiple cpus to a single core and clocking them all at 3ghz. http://www.tomshardware.com/reviews/processor-architecture-benchmark,2974.html You can see from this, that results vary from task to task.

Certain cpus will be better for certain situations. Ipc is not the end all of gauging performance. There is no clear cut "this cpu is better" especially since most tasks are becoming multi threaded. There is much more to it than just ipc.
 
Solution

Kadathan

Honorable
Mar 25, 2013
156
0
10,710
Okay, so while a chip's IPC may be quantifiable, it varies so much from task to task due to different instruction sets being used, that it is an exercise in wasting time to try to actually get a number, as that number is only applicable in an exact situation. Do I have this right?

We can only realistically view the evidence that a chip's ipc os good or bad when comparing it to other chips' performance on similar tasks with similar conditions.

I guess that makes sense, but it's a little underwhelming. I hear it mentioned so often, didn't think it was just a standin for benchmark results.
 
IPC can be inferred from benchmarks especially single threaded benchmarks which only stress a single core such as the following.
However, it should be noted that synthetic benchmarks does not always reflect how well or poorly the CPU's performance is with actual specific applications.

http://www.hardwarecanucks.com/forum/hardware-canucks-reviews/61451-intel-haswell-i7-4770k-i5-4670k-review-11.html

INTEL-HASWELL-44.jpg


INTEL-HASWELL-48.jpg


INTEL-HASWELL-51.jpg

 

Kadathan

Honorable
Mar 25, 2013
156
0
10,710
Ok, and in all these benchmarks the cpus are all clocked to the same speed as well? I suppose it's not too difficult to do, then, the visuals here really simplify the situation then, I think I get what everyone is referring to with IPC differences.
 

Intel God

Honorable
Jun 25, 2013
1,333
0
11,460


They're probably clocked at stock clocks unless noted.
 
K1114 gave a great response. Yes, at matched clock speeds, the CPU with higher IPC will generally win. However, that's generally not how CPUs are run in the real world. You've got to figure in retail cost, core count, clock speed, thermal limits, supported instruction sets, and other factors.

Yes, current Intel chips tend to have higher IPC ratings than AMD ( this was reversed about 15 years ago. ) Since they both support similar instruction sets, this would mean that Intel would always be the favorite if you disregard all other factors. But AMD usually has the cheaper prices, especially with their unlocked CPUs. So while they may not be as efficient as an Intel, most of their CPUs are unlocked so you can crank the clock speed up to get similar performance that you'd see out of a much more expensive Intel chip. For budget builders, this can be a huge boon.

The downside is that AMD also tends to be less efficient with power as well, so they run hotter and OCing it makes that worse. But generally you can still get a good CPU cooler and a K AMD for less than a mid-range i5, so you're still doing pretty good.

Once you start comparing the upper-tier chips, things start sliding back in Intel's favor. An OD'd i5 can generally out-perform the top AMD FX chip and will do it on less power and with less heat. Of course you're still spending more money on the Intel. Whether or not the benefits are worth the cost is up to the computer builder and what they're going to use it for.

But that's still not all. AMD's module architecture means you generally get more integer cores than competing Intel models. An FX 8000 gives you eight physical integer cores compared to the i7's four ( the AMD only has four floating point cores. ) In threaded applications that rely heavily on integer math ( 3D design, compiling, other professional work, ) the AMD will beat the Intel because hyper-threading isn't as quick as an actual physical core.

So there's a lot of factors that come into play. No chip is the end-all / be-all. Certain CPUs excel in some areas yet struggle in others so it's up to you to find the one that caters to your particular use.
 


As stated by others, those benchmarks are based on stock speed. For example, the i5-4670k has a stockspeed of 3.4GHz while the stockspeed for the FX-8350 is 4.0GHz. Despite the 600MHz advantage for the FX-8350 (+17.6%), it lags behind the i5-4670k in the single threaded benchmarks.

Cinebench - The FX-8350 is 50% slower than the i5-4670k.

SuperPi - The Fx-8350 needs slight more than 2x the amount of time to complete the series of calculations.

WPrime - The FX-8350's time to completion is 26.1% longer compared to Intel's time.
 

8350rocks

Distinguished


There is a "maximum potential" number that can be derived from engineering limitations based on the way a CPU was designed. However, the issue there is that, ultimately, few programs utilize maximum capability of a CPU; and as pointed out above, different threads process differently. This basically means that CPUs cannot pass their theoretical maximum, but they also rarely hit it.

I did the math for it at one point, and the answer would likely underwhelm you anyway. IIRC, the difference was something like the FX 8350 has a theoretical maximum IPC of 28 instructions (3 per core * 8 cores + 1 per FPU * 4 FPUs = 28) and the 3770k was 32 instructions (2 per FPU * 4 FPUs + 5 per core * 4 cores + 1 per HTT * 4 HTT = 32).

Having said that, the issue is how well the software is optimized for the architecture being used. So, while you may think it's all entirely hardware bound, in reality, the manner in which software utilizes the hardware is entirely the dictating factor in performance.

EDIT: Consequently, the likely reason why the 3570k and 8350 are so similar in performance could, possibly, be attributed to the fact that they actually have identical maximum engineered IPC @ 28 instructions per clock cycle.
 
Another way to interpret the benchmarks is to determine how much performance per 1MHz does the CPU give you.

Let's take Cinebench as an example, and to make things a bit easier to interpret, lets multiply the scores by 10,000. So the i5-4670k's score is 17,000 and the FX-8350's score is 11,300.

The i5-4670k's clockspeed is 3.4GHz or 3,400MHz. The FX-8350's clockspeed is 4.0GHz or 4,000MHz.

17,000 / 3,400MHz = 5 per 1MHz
11,300 / 4,000MHz = 2.825 per 1MHz

Looking at the above, it means if the i5-4670k were to perform exactly the same as the FX-8350 in Cinebench, it would only need to be clocked at 2.26GHz; (11,300 / 5 = 2,260). Or if the FX-8350 needs to perform just as well as the i5-4670k in this single threaded benchmark, it will need to be clocked at just over 6.0GHz; (17,000 / 2.825 = 6,018).

====================================

Just remember that synthetic benchmarks do not always imitate an actual application especially when a benchmark is designed to only run certain specific types of calculations, while applications might do hundreds or thousands of different applications. So it's always possible that while one CPU performs better than another CPU in a synthetic benchmark by 40%, in a real application that difference might only 20%.