Earlier quoted context omitted.
From you link - Intel is topping the performance charts (alongside AMD in SC) - they probably tune power usage agressively to achieve these results. I would guess it's more to do with coming from desktop CPU design to mobile vs. phones to laptops.
>From you link - Intel is topping the performance charts (alongside AMD in SC) - they probably tune power usage agressively to achieve these results. Cinebench 2024 ST: * M3: 142 points * X Elite: 123 points * AMD HX 370: 116 points * AMD 8845HS: 102 points * Intel 155H: 108 points Amongst each company's best laptop ST SoCs, no, Intel and AMD are far behind in both ST scores and perf/watt. If you're referring to desk…
AMD's Strix Point: Zen 5 Hits Mobile
91–100 of 241 posts
Re: AMD's Strix Point: Zen 5 Hits Mobile
#92Re: AMD's Strix Point: Zen 5 Hits Mobile
#93Earlier quoted context omitted.
Some notes: 1. Consider M1's 8-wide decoder hit the 5+ GHz clock speeds that Intel Golden Cove's decoder can. More complex logic with more delays is harder to clock up. Of course M1 may be held back by another critical path, but it's interesting that no one has managed to get a 8-wide Arm decoder running at the clock speeds that Zen 3/4 and Golden Cove can. A715's slides say the L1 icache gains uop cache features inc…
1. Why would you WANT to hit 5+GHz when the downsides of exponential power take over? High clocks aren't a feature -- they are a cope. AMD/Intel maintain I-cache and maintain a uop cache kept in sync. Using a tiny part to pre-decode is different from a massive uop cache working as far in advance as possible in the hopes that your loops will keep you busy enough that your tiny 4-wide decoder doesn't become overwhelmed…
Predecode/uop cache are both means to the same end, mitigating decode power. AMD and Intel have used both (though not on the same core). Arm has used both, including both on the same core for quite a few generations.
And a uop cache is just a cache. It's also big enough on current generations to cache more than just loops, to the point where it covers a majority of the instruction stream. Not sure where the misunderstanding of the uop cache "working as far in advance is possible" comes from. Unless you're talking about the BPU running ahead and prefetching into it? Which it does for L1i, and L2 as well?
2. "you can't run nothing but floats" they didn't do that in the paper, they did D += A[j] + B[j] ∗ C[j]. Something like matrix multiplication comes to mind, and that's not exactly a rare workload considering some ML stuff these days.
But also, has a study been done on Arm cores? For all we know they could spend similar power budgets on decode, or more. I could say an Arm core uses 99% of its power budget on decode, and be just as right as you are (they probably don't, my point is you don't have concrete data on both Arm and x86 decode power, which would be necessary for a productive discussion on the subject)
3. You're describing letting the BPU run ahead, which everyone has been doing for the past 15 years or so. Losing fetch bandwidth past a taken branch is a different thing.
4. Not sure where you're going. You started by suggesting Arm has less micro-op expansion than x86, and I provided a counterexample. Now you're talking about avoiding complex instructions, which a) compilers do on both architectures, they'll avoid stuff like division, and b) humans don't in cases where complex instructions are beneficial, see Linux kernel using rep movsb (https://github.com/torvalds/linux/blob/5189dafa4cf950e675f02...), and Arm introducing similar complex instructions (https://community.arm.com/arm-community-blogs/b/architecture...)
Also "complex" x86 instructions aren't avoided in the video encoding workload. On x86 it takes ~16.5T instructions to finish the workload, and ~19.9T on Arm (and ~23.8T micro-ops on Neoverse V2). If "complex" means more work per instruction, then x86 used more complex instructions, right?
8. You can use a variable length NOP on x86, or multiple NOPs on Arm to align function calls to cacheline boundaries. What's the difference? Isn't the latter worse if you need to move by more than 4 bytes, since you have multiple NOPs (and thus multiple uops, which you think is the case but isn't always true, as some x86 and some Arm CPUs can fuse NOP pairs)
But seriously, do try gathering some data to see if cacheline alignment matters. A lot of x86/Arm cores that do micro-op caching don't seem to care if a function (or branch target) is aligned to the start of a cacheline. Golden Cove's return predictor does appear to track targets at cacheline granularity, but that's a special case. Earlier Intel and pretty much all AMD cores don't seem to care, nor do the Arm ones I've tested.
Anyway, you're making a lot of unsubstantiated guesses on "weirdness" without anything to suggest it has any effect. I don't think this is the right approach. Instead of "tail wagging the dog" or whatever, I suggest a data-based approach where you conduct experiments on some x86/Arm CPUs, and analyze some x86/Arm programs. I guess the analogy is, tell the dog to do something and see how it behaves? Then draw conclusions off that?
Re: AMD's Strix Point: Zen 5 Hits Mobile
#94Earlier quoted context omitted.
ARM got a lot of hype since the release of the M1, but most users only compared it to the terrible Intel MBPs. Ryzen mobile has been consistently close to Apple silicon perf/watt for 5 years. But got little press coverage. Hype can be really decorrelated from real world performance.
Ryzen mobile is consistently close, yeah. But with the sole exception of the Steam deck, I've yet to see a Ryzen mobile-bearing laptop, Windows included, which is close to the overall performance of the Macbook.
Re: AMD's Strix Point: Zen 5 Hits Mobile
#95Earlier quoted context omitted.
Any efficiency comparison involving Apples chips also has to factor in that Tim Cook keeps showing up at TSMCs door with a freight container full of cash to buy out exclusive access to their bleeding edge silicon processes. ARM may be a factor but don't underestimate the power of having more money than God. Case in point, Strix Point is built on TSMC 4nm while Apple is already using TSMCs second generation 3nm proces…
Let's do the math on M1 Pro (10-core, N5, 2021) vs HX370 (12-core, N4P, 2024). Firestorm without L3 is 2.281mm2. Icestorm is 0.59mm2. M1 Pro has 8P+2E for a total of 19.428mm2 of cores included. Zen4 without L3 is 3.84mm2. Zen4c reduces that down to 2.48mm2. Zen5 CCD is pretty much the same size as Zen4 (though with 27% more transistors), so core size should be similar. AMD has also stated that Zen5c has a similar sh…
Re: AMD's Strix Point: Zen 5 Hits Mobile
#96Earlier quoted context omitted.
Power efficiency is a curve, and Apple may have its own reason not to make M1 Pro run at 110W as well
I stacked the deck in AMD's favor using a 3-year-old chip on an older node. Why is AMD using 3.6x more power than M1 to get just 32% higher performance while having 17% more cores? Why are AMD's cores nearly 2x the size despite being on a better node and having 3 more years to work on them? Why are Apple's scores the same on battery while AMD's scores drop dramatically? Apple does have a reason not to run at 120w --…
Re: AMD's Strix Point: Zen 5 Hits Mobile
#97One of these has to be true (or both true): 1. ARM is inherently more efficient than x86 CPUs in most tasks 2. Nuvia and Apple are better CPU designers than AMD and Intel Here are results from Notebookcheck: Cinebench R24 ST perf/watt * M3: 12.7 points/watt * X Elite: 9.3 points/watt * AMD HX 370: 3.74 points/watt * AMD 8845HS: 3.1 points/watt * Intel 155H: 3.1 points/watt In ST, Apple is 3.4x more efficient than Zen…
> 1. ARM is inherently more efficient than x86 CPUs in most tasks > 2. Nuvia and Apple are better CPU designers than AMD and Intel The third possibility is that they just pick a different point on the efficiency curve. You can double power consumption in exchange for a few percent higher performance, double it again for an even smaller increase. The max turbo on the i9 14900KS is 253 W. The power efficiency is bad .…
This only makes sense if the Zen5 is actually faster in ST than the M3. In this case, the M3 is 1.24x faster and 3.4x more efficient in ST than Zen5.
AMD's Zen5 chip is just straight up slower in any curve.
>The max turbo on the i9 14900KS is 253 W. The power efficiency is bad. But it generally outperforms the M3, despite being on a significantly worse process node, because that's the trade off.
It's not a trade off that Intel wants. The 14900KS runs at 253w (sometimes 400w+) because that's the only way Intel is able to stay remotely competitive at the very high end. An M3 Max will often match a 14900KS in performance using 5-10% of the power.
Re: AMD's Strix Point: Zen 5 Hits Mobile
#98Earlier quoted context omitted.
>From you link - Intel is topping the performance charts (alongside AMD in SC) - they probably tune power usage agressively to achieve these results. Cinebench 2024 ST: * M3: 142 points * X Elite: 123 points * AMD HX 370: 116 points * AMD 8845HS: 102 points * Intel 155H: 108 points Amongst each company's best laptop ST SoCs, no, Intel and AMD are far behind in both ST scores and perf/watt. If you're referring to desk…
That's what I'm thinking - they make trade-offs to reach peak performance in desktop designs that don't translate optimally to laptops and when you start from mobile designs you probably made the opposite trade-offs - that would be my guess for the discrepancy.
Re: AMD's Strix Point: Zen 5 Hits Mobile
#99Earlier quoted context omitted.
Some notes: 1. Consider M1's 8-wide decoder hit the 5+ GHz clock speeds that Intel Golden Cove's decoder can. More complex logic with more delays is harder to clock up. Of course M1 may be held back by another critical path, but it's interesting that no one has managed to get a 8-wide Arm decoder running at the clock speeds that Zen 3/4 and Golden Cove can. A715's slides say the L1 icache gains uop cache features inc…
1. Why would you WANT to hit 5+GHz when the downsides of exponential power take over? High clocks aren't a feature -- they are a cope. AMD/Intel maintain I-cache and maintain a uop cache kept in sync. Using a tiny part to pre-decode is different from a massive uop cache working as far in advance as possible in the hopes that your loops will keep you busy enough that your tiny 4-wide decoder doesn't become overwhelmed…
I'd call that more neat than absurd.
> You may want it so you can use 16 registers, but it also increases code size.
RISC-V has the exact same issue, some compressed instructions having only 3 bits for operand registers. And on x86 for 64-bit-operand instructions you need the REX prefix always anyways. And it's not that hard to pretty reasonably solve - just assign registers by their use count.
Peephole optimizations specifically here are basically irrelevant. Much of the complexity for x86 comes from just register allocation around destructive operations (though, that said, that does have rather wide-ranging implications). Other than that, there's really not much difference; all have the same general problems of moving instructions together for fusing, reordering to reduce register pressure vs putting parallelizable instructions nearer, rotating loops to reduce branches, branches vs branchless.
Re: AMD's Strix Point: Zen 5 Hits Mobile
#100Earlier quoted context omitted.
I know the E-cores (gracemont, crestmont, skymont) have the multi-decoder setup; the first couple search results don't show Golden Cove being the same. Do you have some reference for that? 6. Ah yeah the funky SSE4a thing. RISC-V has its own similar but worse thing with RVV0.7.1 / xtheadvector already though, and it can be basically guaranteed that there will be tons of one-off vendor extensions, including vector one…
I think you may be correct about gracemont v golden cove. Rumors/insiders say that Intel has supposedly decided to kill off either the P or E-core team, so I'd guess that the P-core team is getting layed off because the E-core IPC is basically the same, but the E-core is massively more efficient. Even if the P-core wins, I'd expect them to adopt the 3x3 decoder just as AMD adopted a 2x4 decoder for zen5. Using a non-…
+1 to dzaima's mention of vrgather. The lack of fixed-pattern shuffle instructions in RVV is absolutely a wrong-instruction issue.
I agree with your point that multiple code variants + runtime dispatch are helpful. We do this with Highway in particular for x86. Users only write code once with portable intrinsics, and the mess of instruction selection is taken care of.