View Single Post
chucker
 
Join Date: May 2004
Location: near Bremen, Germany
Send a message via ICQ to chucker Send a message via AIM to chucker Send a message via MSN to chucker Send a message via Yahoo to chucker Send a message via Skype™ to chucker 
2019-09-19, 14:44

(Disclaimer: IANA hardware engineer)

This gets tricky fast. For example, the MacBook Air has an Ambery Lake-Y processor. It has two cores, right? Except it kind of doesn't. For one, there's the whole hyperthreading deal that gives it four "virtual" cores. But secondly, it comes with the UHD Graphics 617 GPU, which has 24 "execution units" and 192 "shading units". Let's ignore shaders for now; that still doesn't really make the 8210Y a 26-core chip. (Except it kind of does; see below.)

The way you split it in categories makes sense to me. Assuming execution units are roughly equal to "cores", that would give it:
  • 2 CPU cores
  • 24 GPU cores

If you take an algorithm that runs in a GPGPU setting like OpenCL/CUDA/Metal, you can in fact make that code run on 26 cores, in parallel.

Just, in practice, you'll rarely run into that scenario. Little code is parallelizable at all, and way less code is equally well-suited for the CPU as it is for the GPU.

So your question is interesting, but hard to answer. Safari isn't gonna use those Neural Engine cores to render the AppleNova site any time soon.

And just as adding cores has diminishing returns, pointing out the core count has diminishing usefulness when those cores are increasingly specialized.
  quote