Retrospectively Reverse-Engineering Apple's Neural Engine
A developer reflects on the history and architecture of Apple's Neural Engine (ANE) while attempting to reverse-engineer it on the M1 chip. The author explores how Apple's hardware design choices for machine learning have evolved from CNN-focused tasks to modern transformer-based workloads.
Why it matters
Understanding proprietary hardware acceleration provides insight into how major tech companies optimize silicon for specific AI workloads.
I stopped working on the reverse-engineered Apple Neural Engine (ANE) driver three years ago, upon a sad mini realization that the ANE block is just not that useful, and I could be doing more useful things, and moved onto upstreaming other, more useful, blocks. The ANE's architecture was too opinionated to build a general-purpose accelerator platform around it, and a linux driver effectively opening ANE hardware API access could not broaden the class of workloads it could do. Even macOS only regularly uses their own ANE to generate upsampled preview images in Finder.
Get smarter about the news
Sign up free for a feed built around what you actually care about, Dive Deeper research on any story, and the full text of every article.
Create free accountAlready have an account? Sign in