Hacker News new | ask | show | jobs
by tossandthrow 785 days ago
I think the establishing term is AIA, AI Accelerator.
2 comments

I have seen the term NPU used in reference to neural network accelerators a lot. I think AMD, Intel and Qualcomm all use this term for their AI accelerators. I think Apple call their AI accelerators neural engines, but I've definitely heard others refer to these as NPUs even though that's not their official name.

I'll be honest I've never heard the AIA acronym used in this way. It seems all acronyms for all processors need to end in PU, for better or for worse.

That would ignore applications like crypto mining, which I'm guessing is still a biggie.

What is it exactly that sets these units apart from CPUs? Something to do with the parallel nature of the hardware?

The distinction that seems to be important is the warp-thread architecture: multiple compute units sharing a single program counter, but instead of the SIMD abstraction they are presented as conceptually separate threads.

Also they tend to lack interrupt mechanisms and virtualization, at least at the programmer API level (usually NVIDIA systems have these but managed by the proprietary top level scheduler).

CPUs are also pretty parallel. They have multiple cores, each of which can execute multiple instructions working on multiple data items all in a single clock cycle.
the fact that they are not central. they work as a coprocessor.

However, a CPU could easily embed an AIA, and certainly, they do.