4 ms·
Why would Apple hide such optimization from public APIs?
by Thaxll 4y ago
Why would Apple hide such optimization from public APIs?
- esskay 4y agoIt's only really used for their internal applications and the OS level stuff so assume they want to prevent performance issues with it having to deal with 3rd party stuff.
- frogblast 4y agoIt is available via public APIs, but the hardware instructions themselves are not documented. This lets the instructions change in future CPUs, vs having the ISA be baked in stone forever. Example: AMX predated the standard ARM matrix multiply instructions. Perhaps Apple will add the ARM versions someday and now can remove AMX without breaking compatibility. Or maybe there will be a non-additive AMXv2.
- olliej 4y agoIt's not hidden from the public APIs. It's exposed through Accelerate.framework, etc. The instructions themselves aren't stable so there's no guarantee they'd exist in other generations - as others have said these instructions predate ARM actually adding the standardized scalable vector extension, presumably Apple could switch to the standard ISA in future, but if the AMX instructions were exposed directly to developers they'd have to continue to support them in future and thus continue to burn silicon space for them.