Live data from Hacker News

Apple's M4 has reportedly adopted the ARMv9 architecture

wccftech.com

141–150 of 250 posts

Re: Apple's M4 has reportedly adopted the ARMv9 architecture

#141
post #138
post #123

Earlier quoted context omitted.

ARMv9.0 is very similar to ARMv8.5 (9.0 supersets 8.5 with SVE2, TME, TLA, and CCA), so it's not a massive deal. SME implies v8.7 which is basically identical to v9.2 except for those couple extensions previously mentioned. I wonder if there is licensing at play though. Apple may have gotten a really great licensing deal on ARMv8 that they wouldn't be offered for ARMv9.

Does anyone have insight into why arm CPU vendors seem so hesitant about implementing SVE2? ~They seem~ *Apple seems to have no issue with SSVE2 or SME. Edit: Only Apple has implemented SSVE and SME I think.

SVE2 is an extension on top of SVE which some stuff already implements. The issue is more likely to be the politics of moving to ARMv9 than anything else.

As to SVE though, I'd guess variable execution time makes the implementation require a bit of work. Normally, multi-cycle tasks have a fixed number. Your scheduler knows that MUL takes N cycles and plans accordingly.

SVE seems like it should require N-M cycles depending on what is passed. That must be determined and scheduled around. This would affect the OoO parts of the core all the way from ordering through to the end of the pipeline.

That's definitely bordering on new uarch territory and if that is the case, it would take 4-5 years from start to finish to implement. This would explain why all the ARMv8 guys never got around to it. ARMv9 makes it mandatory, but that was released in 2021 or so which means non-ARM implementors probably have a ways to go.

Re: Apple's M4 has reportedly adopted the ARMv9 architecture

#142

Earlier quoted context omitted.

IME Mac binaries are much smaller than Windows for your average third party software. I don’t know why.

Windows binaries often seem to have excess statically linked libraries.. even though they are called DLLs which is supposed to mean dynamic. They might be loading it dynamically but they still seem to have decided to include their own private copy. I've even seen windows binaries have multiple different versions of the same DLL inside them, and it's a well known DLL that is duplicated multiple places elsewhere. All O…

From having worked on Windows, OSX, and Linux desktop software over the years there's a few factors at play off the top of my head:

- Windows DLLs don't usually have strong versioning baked into the filename. On OSX or Linux, there's usually the full version number baked in (libfoo.so.3.32.0) with symlinks stripping off version components. (libfoo.so, libfoo.so.3, libfoo.so.3.32) would all be symlinks to libfoo.so.3.32.0 and you can link against whichever major/minor/patch version you depend on. If your Windows app depends on a specific version it's going to be opening DLLs and querying them to find out what they are.

- Native OSX software (not Electron) seems to depend much less on piles of external libraries because the OSX standard library is very rich and has a solid history of not breaking APIs and ABI across OS versions. While eg CoreAudio is guaranteed to be installed on an OSX install and be either compatible or discoverably-incompatible, the version of DirectSound you're going to have access to on Windows is more of a crapshoot.

- Windows apps (except for the .Net runtime sometimes) are often designed for longevity. A couple of months ago I installed some software that was released in 1999 on my Windows 11 machine and it just worked. Bundling up those DLLs is part of why they work.

- Linux apps can rely on downstream packaging to install the necessary shared libraries on demand, generally speaking. Linux desktop apps distributed as RPMs or DEBs can "just" declare which libraries they need and get them delivered during install.

Re: Apple's M4 has reportedly adopted the ARMv9 architecture

#143
post #123
post #29

They have not adopted ARMv9. This is still ARMv8, but with SME.

ARMv9.0 is very similar to ARMv8.5 (9.0 supersets 8.5 with SVE2, TME, TLA, and CCA), so it's not a massive deal. SME implies v8.7 which is basically identical to v9.2 except for those couple extensions previously mentioned. I wonder if there is licensing at play though. Apple may have gotten a really great licensing deal on ARMv8 that they wouldn't be offered for ARMv9.

My guess is that Apple is simply not interested in some of the ARMv9 features. They are not eager to implement SVE and the se Ure virtualization features are probably not that relevant to them.

Re: Apple's M4 has reportedly adopted the ARMv9 architecture

#144
post #22
post #2

Hmm, I was thinking of buying an M3 Pro 16” this summer, but maybe I should wait then

That’s actually a nice side effect of all the *rumors pages. The rumors of future products keep me of buying the current products. I keep on using my previous products while saving money and planet and being excited about what future holds.

And on the flip side I am generally hesitant to buy first-release Apple hardware. Over the 20 years I've been buying Apple kit I've generally found it to be exceptionally robust but newly released hardware has had enough bugs (either hardware or OS) that I just sit back and let other users find the issues first. But I do simultaneously have the same issue: if WWDC is coming up within a month or two I'm not going to be buying any hardware because there's a good chance that something new will be released or the hardware I was going to buy is going to get a refresh or a price drop.

Re: Apple's M4 has reportedly adopted the ARMv9 architecture

#145
post #138
post #123

Earlier quoted context omitted.

ARMv9.0 is very similar to ARMv8.5 (9.0 supersets 8.5 with SVE2, TME, TLA, and CCA), so it's not a massive deal. SME implies v8.7 which is basically identical to v9.2 except for those couple extensions previously mentioned. I wonder if there is licensing at play though. Apple may have gotten a really great licensing deal on ARMv8 that they wouldn't be offered for ARMv9.

Does anyone have insight into why arm CPU vendors seem so hesitant about implementing SVE2? ~They seem~ *Apple seems to have no issue with SSVE2 or SME. Edit: Only Apple has implemented SSVE and SME I think.

What do you mean? Apple is the only one who has an SME/SSVE implementation.

Re: Apple's M4 has reportedly adopted the ARMv9 architecture

#146
post #138
post #123

Earlier quoted context omitted.

ARMv9.0 is very similar to ARMv8.5 (9.0 supersets 8.5 with SVE2, TME, TLA, and CCA), so it's not a massive deal. SME implies v8.7 which is basically identical to v9.2 except for those couple extensions previously mentioned. I wonder if there is licensing at play though. Apple may have gotten a really great licensing deal on ARMv8 that they wouldn't be offered for ARMv9.

Does anyone have insight into why arm CPU vendors seem so hesitant about implementing SVE2? ~They seem~ *Apple seems to have no issue with SSVE2 or SME. Edit: Only Apple has implemented SSVE and SME I think.

What is the measurable benefit to implementing 128b SVE2? Like, ARM has CPUs that implement that, and it's not even disabled on some chips. So there must be benchmarks somewhere showing how worthwhile it is.

And implementing 256b SVE has different issues depending on how you do it. 4x256b vector ALUs are more power hungry than generally useful. 2x256b is only beneficial over 4x128b if you're limited by decode width, which isn't an issue now that A32/T32 support has been dropped. 3x256b would probably imply 3x128b which would regress existing NEON code. And little cores don't really want to double the transistors spent on vector code, but you can't have a different vector length than the big cores...

Re: Apple's M4 has reportedly adopted the ARMv9 architecture

#147

Earlier quoted context omitted.

Every character you type results in some sort of hit to their telemetry server. It will include the actual letter you typed, if you or your org are not configured to be in EU. With their EU configuration option (pulled from server every launch) it will only report the fact that you typed _something_. Now if that's not fun enough, their telemetry also covers mouse movements. Go ahead and watch your CPU as you spin you…

I’m in the EU and should have the EU configuration. The problem mainly occurs when I mention someone in a reply to a thread. Once I type @ the text input just slows down so much I can type much faster than it can render the text.

[deleted]

Re: Apple's M4 has reportedly adopted the ARMv9 architecture

#148

Earlier quoted context omitted.

>> So binary sizes are going to double? If you're already supporting 2 arch it will only increase by 50 percent to support a 3rd ;-)

And you'd like to think the binaries are still not the largest component of an app contributing to the file size. But who knows these days.

Its the static-linking of the Swift runtime - it’s incredibly inelegant.

Re: Apple's M4 has reportedly adopted the ARMv9 architecture

#149
post #138

Earlier quoted context omitted.

Does anyone have insight into why arm CPU vendors seem so hesitant about implementing SVE2? ~They seem~ *Apple seems to have no issue with SSVE2 or SME. Edit: Only Apple has implemented SSVE and SME I think.

What is the measurable benefit to implementing 128b SVE2? Like, ARM has CPUs that implement that, and it's not even disabled on some chips. So there must be benchmarks somewhere showing how worthwhile it is. And implementing 256b SVE has different issues depending on how you do it. 4x256b vector ALUs are more power hungry than generally useful. 2x256b is only beneficial over 4x128b if you're limited by decode width,…

Masked instructions primarily. But apart from that it’s just a more complete ISA vs NEON. More comparable to AVX512/AVX10.

> 2x256b is only beneficial over 4x128b if you're limited by decode width

This is only true if we ignore more complex instructions and focus on things like adding two vectors.

Re: Apple's M4 has reportedly adopted the ARMv9 architecture

#150
post #145
post #138

Earlier quoted context omitted.

Does anyone have insight into why arm CPU vendors seem so hesitant about implementing SVE2? ~They seem~ *Apple seems to have no issue with SSVE2 or SME. Edit: Only Apple has implemented SSVE and SME I think.

What do you mean? Apple is the only one who has an SME/SSVE implementation.

I misremembered. Looks like it is only Apple. I appreciate the correction.
Post reply on HN