News for hackers. Stuff that matters.
Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by daniel_iversen on Tuesday May 25, 2021 @12:08PM (#27278626)
Could anyone explain the main differences between this new Armv9 CPU and the Apple M1 ARMs? What are the strengths and weaknesses of the two or is one lightyears ahead of the other?
Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by hajile on Tuesday May 25, 2021 @12:43PM (#27279111)
ARMv8 is a big target [0]. You have 6 major ISA extensions of which recent ARM designs support 2 and Apple's support 5. There's also SVE which was a kind of side-option. In addition, there's the 32-bit version, the 64-bit version, the R and A versions all with different capabilities and support levels.

ARMv9 tries to unify that a bit [1]. They add a new security model and SVE moves from a side option to a requirement. A bunch of the various v8 instructions also get bundled into the core requirements.

A14 vs X2 is a different question. A14/M1 really dropped the ball by not supporting SVE. I suspect they will support it in their next generation of processors, but the problem is adoption. Everyone is jumping on the M1 units and won't be upgrading their laptops for another few years. As such, they'll be held back for the foreseeable future.

Performance is no question and A14 will be retaining its lead for the next 2-3 years at least. X1 chips are already significantly slower than A14 chips. X2 only increases performance by 10-16% (as pointed out in the article, the 16% is a bit disingenuous as it compares X1 with 4mb cache to the x2 with 8mb of cache while X1 gets a decent speedup with the 8mb version). Furthermore, by the time X2 is actually in devices, Apple will already be launching their own next generation of processors (though I suspect we're about to see them move to small performance increases due to diminishing returns).

[0] https://en.wikipedia.org/wiki/AArch64

[1] https://www.anandtech.com/show/16584/arm-announces-armv9-arc...

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by JamesDeepDown on Tuesday May 25, 2021 @01:01PM (#27279341)
"I suspect we're about to see [Apple Silicon] move to small performance increases due to diminishing returns"

Is there any discussion of this online, I'm curious to read more.

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by hajile on Tuesday May 25, 2021 @01:33PM (#27279766)
This has already happened.

A14 is 3.1GHz while A13 is 2.66GHz. A14 is around 20% faster than A13 overall, but it is also clocked 14% higher which gives only around 6% more IPC. Power consumption all but guarantees that they won't be doing that too often.

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by brokencode on Tuesday May 25, 2021 @01:52PM (#27279980)
Where does the A14/M1 suffer due to the lack of SVE? The performance of M1 is well known to be terrific, so it’s hard to characterize that as dropping the ball in my book. More like they prioritized other features instead, and they ended up creating a great processor.
Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by eyesee on Tuesday May 25, 2021 @02:22PM (#27280351)
I suppose they "dropped the ball" in the sense that those instructions cannot be assumed to be available, thus will not be encoded by the compiler by default. Any future processors which include the instructions may not benefit until developers recompile for the new instructions and go through the extra work required to conditionally execute when available.

That said, to get the best performance on vector math it has long been recommended to use Apple's own Accelerate.framework, which has the benefit of enabling use of their proprietary matrix math coprocessor. One can expect the framework to always take maximum advantage of the hardware wherever it runs with no extra development effort required.

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by saagarjha on Thursday May 27, 2021 @07:27AM (#27301685)
I would think that Apple would make a new fat slice for ARMv9 where SVE was the baseline.
Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by hajile on Tuesday May 25, 2021 @02:11PM (#27280228)
Let's say M2 has SVE. Do you:

* only use NEON to save developer time and lose performance and forward compatibility

* only use SVE to save developer time and lose backward compatibility

* Pay to support both and deal with the cost/headaches

Experience shows that AVX took years to adopt (and still isn't used for everything) because SSE2 was "good enough" and the extra costs and loss of backward compatibility weren't worth it.

If SVE were supported out of the gate, then the problem would simply never exist. Don't forget (as stated before) that there's been a huge wave of M1 buyers. People upgraded early either to get the nice features or not be left behind as Apple drops support.

Let's say you have 100M Mac users and an average of 20M are buying new machines any given year (a new machine every 5 years). The 1.5-2-year M1 wave gets 60-70M upgraders in the surge. Now sales are going to decline for a while as the remaining people stick to their update schedule (or hold on to their x86 machines until they die). Now the M2 with SVE only gets 5-10M upgraders. Does it make sense to target such a small group or wait a few years? I suspect there will be a lot of waiting.

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by zsmi on Tuesday May 25, 2021 @04:27PM (#27282156)
It's even harder than that.

SVE vs NEON performance will also hugely depend on the vector length the given algorithm requires, and the stress that the instructions put on the memory subsystem.

Memory hierarchy varies by product and will likely continue to do so regardless of what M2 does.

In the end, I echo eyesee's comment, for best performance one should really use Accelerate.framework on Apple's hardware.

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by brokencode on Tuesday May 25, 2021 @06:02PM (#27283300)
My point was that it probably doesn’t matter. M1 is already very fast, even without SVE. At some point you just have to decide to ship a product, even if it doesn’t have every possible feature.

Like other posters mentioned, for vector operations like this, you could be dynamically linking to a library that handles this for you in the best way for the hardware. Then when new instructions become available, you don't have to change any of your code to take advantage.

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by tylerhou on Tuesday May 25, 2021 @06:49PM (#27283779)
I don't think any code sensitive enough to performance to warrant SVE instructions will want to tolerate a jump in a very tight loop.
Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by sagarm on Thursday May 27, 2021 @12:32PM (#27304979)
The libraries are either header-only to permit inlining or written to operate over batches of data.
Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by zibzab on Tuesday May 25, 2021 @12:32PM (#27278959)
M1 is ARMv8.4

v9 has a bunch of neat features that improve security and performance (+ less baggage from ARMv7 which also improves area and power)

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by pantalaimon on Wednesday May 26, 2021 @02:08AM (#27286954)
Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by gsnedders on Tuesday May 25, 2021 @02:03PM (#27280132)
> v9 has a bunch of neat features that improve security and performance

Many of them are already optional features in later ARMv8 revisions, however.

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by zibzab on Tuesday May 25, 2021 @03:09PM (#27281049)
A lot of v8.x features were added to fix mistakes in v8.

v9 brings a bunch of completely new stuff, specially in the security department.

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by wmf on Tuesday May 25, 2021 @12:34PM (#27278986)
The Arm X2 is still going to be behind Apple Firestorm but at least Arm won't be trailing by 50% any more. At least for now Arm doesn't have an appetite for create monster 8-issue cores.

See X1 vs. Firestorm: https://www.anandtech.com/show/16463/snapdragon-888-vs-exyno...

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by pantalaimon on Wednesday May 26, 2021 @02:07AM (#27286947)
> The Arm X2 is still going to be behind Apple Firestorm but at least Arm won't be trailing by 50% any more.

By the time products with ARM X2 ship, Apple will be shipping M2 or M3 processors.

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by pjmlp on Thursday May 27, 2021 @04:01AM (#27300479)
Irrelevant to most markets, as Apple chips will never leave Apple's own hardware.
Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by zibzab on Tuesday May 25, 2021 @12:45PM (#27279126)
X1 is _not_ ARMv9 and there is not even a comparison with M1 on that page.

X2 is not even out yet, you have no idea how it may perform.

Why has every post on HN drift into blindly praising an unrelated product?

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by klelatti on Tuesday May 25, 2021 @12:56PM (#27279277)
> In terms of the performance and power curve, the new X2 core extends itself ahead of the X1 curve in both metrics. The +16% performance figure in terms of the peak performance points, though it does come at a cost of higher power consumption.

Some idea how the X2 will perform.

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by GeekyBear on Tuesday May 25, 2021 @01:10PM (#27279456)
>Some idea how the X2 will perform.

If you read on a bit, there is some question that those performance metrics will be seen in the real world, due to existing thermal issues.

> I am admittedly pessimistic in regards to power improvements in whichever node the next flagship SoCs come in (be it 5LPP or 4LPP). It could well be plausible that we wouldn’t see the full +16% improvement in actual SoCs next year.

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by zibzab on Tuesday May 25, 2021 @02:55PM (#27280813)
In general for moving from v8 to v9, I think 16% is extremely pessimistic.

Removal of aarch32 has huge implications. And this is not limited to CPU but also touches MMU, caches and more that in v8 had to provide aarch32 compatible interfaces. This lead to really inefficient designs (for example, MMU walk which is extremely critical to performance is more than twice as complicated in ARMv8 compared to v7 and v9).

The space saved by removing these can be used for bigger caches, wider units, better branch prediction and other fun stuff.

Finally, note also that the baseline X1 numbers come from Samsung who we all know are worst in class right now. And they are using an inferior process. Let's see what qcomm, ampere and amazon can do with v9.

Re:Arm Announces New Mobile Armv9 CPU Microarchitectures by wmf on Tuesday May 25, 2021 @12:55PM (#27279271)
ARMv8 vs ARMv9 doesn't matter; performance matters. This article is about the X2 so of course we're going to discuss what little information we have.