On the other hand, disabling AVX for all Intel machines would make those programs significantly slower, so it's clear why there is reluctance to do that...
side bar: is there documentation for the instruction set or abi for that hardware?
I'll make a wild guess that getting data to the neural engine is still probably not quick because I assume it's some kind of statically scheduled type affair (exposed pipeline?). We literally seem to know almost nothing about it sadly.
https://jobs.apple.com/en-gb/details/200205070/neural-engine...
Even the job listing gives away next to nothing, other than poor English "Knowledge in compiler is a plus" ;)
No. Apple stans, food for thought.
I would hope there will be something soon although it's Apple so not much.
Edit: Still basically no, but https://github.com/geohot/tinygrad/tree/master/ane has got the instruction format apparently.
You can attack an instruction set blind (https://recon.cx/2012/schedule/events/236.en.html).
More edit: Bingo, patent: https://patents.google.com/patent/US20190340491A1/en?oq=2019...
Often you are happy to get a 1.25x speed up with AVX. Sometimes it actually goes slower.
If you were to emulate that code with a 1.25x speedup with AVX on the M1, you would end up with all the disadvantages of going to 8-wide, but with none of the speedup.
That 1.25x speedup is halved and the emulated AVX code actually runs at about 0.625x the speed of the emulated SSE code path.