3 ms·
There are a lot of undocumented parts of the Apple CPUs, for instance AMX. All such undocumented features can normally be exploited only by the libraries and ap
by adrian_b 2y ago
There are a lot of undocumented parts of the Apple CPUs, for instance AMX. All such undocumented features can normally be exploited only by the libraries and applications provided by Apple themselves, but not by the applications and libraries written by other parties, which are disadvantaged.
This is the same mechanism by which Microsoft has eliminated the competition for Microsoft Office, which used undocumented Windows APIs so that the products of any other vendor could not keep up with it, especially after the launch of any new Windows version.
Now one can find some more complete documentation for the Apple CPUs as the result of reverse engineering work done by various people, but after each introduction of a new Apple CPU model the reverse engineering work may need to be done again.
Examples:
https://github.com/name99-org/AArch64-Explore https://github.com/name99-org/AArch64-Explore
https://github.com/corsix/amx https://github.com/corsix/amx
- saagarjha 2y agoApple writes the libraries for you to use AMX. They aren’t giving themselves preferential treatment here.
- pertymcpert 2y agoApple aren't allowed to publicly support unofficial extensions of the ARM ISA.
- galad87 2y agoProbably because they don't want anyone to depend on AMX, and they want to be free to remove it or change it in the future. On the M4 for example AMX features are accessible thru SME, which is an official ARM extension.
- neonsunset 2y agoAnything capable of fast C interop (so no Go and Java for you, good riddance) is free to use Accelerate. The reason Apple went with AMX first was that SME was not ready at the time, and they did want to have that. Once SME became available, they readily exposed it, as can be seen in M4, using the same hardware blocks underneath. I'm not here to defend other anti-competitive practices by Apple but as far as just their CPUs go, there are none in that area.