Live data from Hacker News

Undocumented arm64 ISA extension present on the Apple M1

gist.github.com

101–110 of 202 posts

Re: Undocumented arm64 ISA extension present on the Apple M1

#101
post #2

I don't understand the significance of this. Could someone who does add some context?

Apple added custom instructions on top of the ARM instruction set to do matrix operations. Matrix operations are used a lot in some algorithms, such as in computer graphics and machine learning and these instructions help those operations go faster. Although the ARM ISA has a multiply and accumulate instruction, it would take many more instructions on a standard ARM core to compute a matrix with only standard instruc…

Correction:

^when applications use these instructions; either as a result of use of a system API/framework, of the compiler optimizing code into these M1 instructions, or of the developer writing M1 assembler themselves.

It is very likely that the majority of cases that use these instructions will be compiled by Xcode without the knowledge of developers that these instructions exist at all.

Re: Undocumented arm64 ISA extension present on the Apple M1

#102

After four different CPU ISA's (68000, powerpc, x86, ARM) an Apple ISA is next.

Apple was actually considering designing their own CPUs as early in the mid/late 80s. As far as I'm aware, they never got to the point of fabrication, but the architecture and ISA was pretty fully fleshed out:

https://archive.org/details/scorpius_architecture

Re: Undocumented arm64 ISA extension present on the Apple M1

#103
post #90

Earlier quoted context omitted.

A terrible analogy, they aren't hurting anybody, something which would be fundamentally wrong. A better analogy would be that Apple is baking bread in a way that you don't like. Which is only a problem if you are forced to eat it.

> A terrible analogy, they aren't hurting anybody, Hence the term boiling the frog. If everyone bakes their bread like this, and they definitely wish they could, that would be bad.

>> A terrible analogy, they aren't hurting anybody,

> Hence the term boiling the frog

Tell that to the frog!

Re: Undocumented arm64 ISA extension present on the Apple M1

#104
post #65
post #7

Earlier quoted context omitted.

In the bigger picture Apple aren't really documenting anything for their new toys, which is not the end of the world but is a huge step back for openness. There is - as far as I can see - no long-form documentation for M1 other than patents. I already refuse to own apple products so I don't really have any skin in the game, but consider that if microsoft were like this the blind eye would not be turned - buy our new…

Or maybe different people have different needs and don’t care if every device is “open”. The vast majority of people are not enamored with technology for technologies sake. These are tools. Does the tool do what I want with the least amount of friction? That’s what they care about. Also how does Apples stance on one product in any way change the device you are using to post in any way? Are Apple thugs coming to your…

>If you don’t like their computing model then don’t use it. Railing that they aren’t supporting your vision lockstep is pretty freaking arrogant.

If you don't like/agree/see value in this persons comment then why are you engaging with them? That's how silly your position sounds.

Now back to the substance of your comment.

>Or maybe different people have different needs and don’t care if every device is “open”.

How could "not open" be a need of someone?

>These are tools. Does the tool do what I want with the least amount of friction? That’s what they care about.

How does an Apple engineer documenting the design add friction in any way to what you're doing?

> Indeed Apples existence and continually pushing computing in new areas has benefited everyone in the last 40 years - whether you use Apple or not.

Apple has helped popularize the smartphone as a consumer device to consume music/media, do light business on (emails, IM, documents, etc) and do a few minor creative tasks digitally such as drawing, music, etc. They do get a lot of credit for that. They have also co-created an application platform for other businesses to sell software. But then they robbed 30% of their sales too - They get negative credit for being so greedy.

Your argument that they have "continually pushed computing" is a bit of a stretch. Give us your best argument/examples/facts.

Re: Undocumented arm64 ISA extension present on the Apple M1

#105
post #2

I don't understand the significance of this. Could someone who does add some context?

Like Intel, Apple has chosen to add some instructions to the processor which accelerate certain operations (in this case matrix operations). Unlike Intel, Apple has not yet chosen to actually document the M1 architecture. This is where a vertically integrated company like Apple (or IBM back in the day) can leverage "inside knowledge" about their chips to achieve performance that is not readily comparable (or reproducible) on a different instruction set architecture (ISA).

Historically (see IBM vs Memorex) obscuring your interfaces has been a losing proposition in the long term, even while delivering favorable margins in the short term. Unlike Intel which needs to get third parties to write software for their chips, Apple writes their own software and so it means they can hold on to their advantage while third parties (like the author of the post) reverse engineer what is going on.

It will be "historically significant" if Intel adds a feature to their chips in order to stay competitive with this development. The last time they did that was when AMD introduced Opteron. All in all, its basically just a puzzle that people who are interested in how things work get to work on in their spare time.

Re: Undocumented arm64 ISA extension present on the Apple M1

#106

Earlier quoted context omitted.

Apple must support base LLVM functionality because it is the core of their extend-embrace-extinguish strategy. This says nothing that they will extend that offer to their undocumented secret sauce, as you imply.

Don't be absurd. LLVM was a research project until Apple hired Chris Lattner and poured money into it to make a viable alternative to GCC. They've been among the project's top contributors (financially and in terms of code) for 15 years. That's quite the long con. Apple creates plenty of proprietary technologies but I can't think of a time they've been credibly accused of crushing an open technology that already exis…

CUPS is the closest where you could accuse Apple of doing that I guess.

Re: Undocumented arm64 ISA extension present on the Apple M1

#107

Earlier quoted context omitted.

Don't be absurd. LLVM was a research project until Apple hired Chris Lattner and poured money into it to make a viable alternative to GCC. They've been among the project's top contributors (financially and in terms of code) for 15 years. That's quite the long con. Apple creates plenty of proprietary technologies but I can't think of a time they've been credibly accused of crushing an open technology that already exis…

They did that, in part, because they were subject of one of the first GPL enforcement actions, originally being unwilling to open source their objc GCC frontend. They being Nextstep at the time, but there's not a huge distinction these days. Their investment in LLVM is very much an attempt to keep reproprietization on the table.

The way you put it non copyleft licenses are just there for bait and switch. I don’t know any case where that happened where there was outside contributions.

Re: Undocumented arm64 ISA extension present on the Apple M1

#108

Earlier quoted context omitted.

On the other hand, Apple released their 64-bit ARM backend for LLVM[1] in 2014. They announced their intention do so almost immediately after the first ARM64 phone, but the process took several months because it had to be merged with a duplicate backend developed by others. I think it is likely that support for these instructions will be upstreamed to LLVM, and the teams involved in this monumental transition (which…

I just started getting into macOS and iOS development and the documentation is HORRENDOUS. Even the classroom educational material Apple put out is incomplete, outdated, and often completely wrong! Additionally, It seems to be impossible to compile anything in Xcode other than a hello-world without gettting undocumented warnings and (non fatal) errors logged, which, if you can find a matching thread on their forums,…

I just started working with Swift again after building a couple toy apps when Swift was brand new. I feel your pain with their documentation!

What bothers me most is how their documentation for anything is a massive scrollfest[0], followed by links everywhere, yet the actual documentation still feels sparse enough that I almost exclusively try to just read the source code and make guesses. Rails docs sure aren’t going to win any design awards, but at least I can access everything on a single page![1]

[0] https://developer.apple.com/documentation/swiftui/view

[1] https://api.rubyonrails.org/classes/ActionController/LogSubs...

Re: Undocumented arm64 ISA extension present on the Apple M1

#109

Earlier quoted context omitted.

They did that, in part, because they were subject of one of the first GPL enforcement actions, originally being unwilling to open source their objc GCC frontend. They being Nextstep at the time, but there's not a huge distinction these days. Their investment in LLVM is very much an attempt to keep reproprietization on the table.

The way you put it non copyleft licenses are just there for bait and switch. I don’t know any case where that happened where there was outside contributions.

Oracle reproprietized all of Solaris, including the outside contributions up to that point.

And I assume that Apple has support for these instructions this whole thread is about in their toolchains, so if that's the same version that's in xcode, reproprietization is already happening.

Leaving reproprietization on the table is the whole point of non-copyleft open source.

Re: Undocumented arm64 ISA extension present on the Apple M1

#110

Earlier quoted context omitted.

They did that, in part, because they were subject of one of the first GPL enforcement actions, originally being unwilling to open source their objc GCC frontend. They being Nextstep at the time, but there's not a huge distinction these days. Their investment in LLVM is very much an attempt to keep reproprietization on the table.

I absolutely believe that the investment in LLVM was justified to executives as a way to avoid GPL-licensed software, which Apple has long been allergic to. But it should be noted that the GPL violation you refer to was in 1989. Put in context, that was ~16 years before they started investing in LLVM, and they have done so continuously for the past ~15 years.

Ultimately what the executives think is the reason is the real reason, as we saw from Oravle reproprietizing Solaris.

And yes, it was a while back that literally lawyers had to get involved in their blatant GPL violation in the compiler space. We absolutely get to judge a company on it's past actions.

Post reply on HN