Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Oneechan69

macrumors 6502
Original poster
Mar 29, 2022
252
29
US
First of all, that might not exactly be what CPU % in activity monitor means, but I think you get the point; I haven't read too much into it. 100% of CPU usage in Activity Monitor would be (or be like) using one whole CPU core out of the multiple you have.
I did a bunch of googling, and used a few menu bar stat apps, to see GPU Usage on my M1 MBA (which Apple says has 7 GPU cores), but they just show graphs and %s (up to 100%). Is there a way to see the load on individual GPU cores?
But maybe that isn't right, like a GPU core isn't the same as a CPU core and you can't see individual loads on "cores." Could someone explain it if that's the case or not?
 

Spindel

macrumors 6502a
Oct 5, 2020
521
655
To be honest I don’t think it would matter that much since GPU tasks by nature are extreamly parallellized. So in most cases the load will be very evenly distributed
 

leman

macrumors Core
Oct 14, 2008
19,521
19,677
I think it has more to do with „tradition“. MacOS reports the CPU usage as fraction of how the individual cores are loaded up. E.g. 50% of CPU utilization means that over a certain period of time the CPU did. active work half of the time and spent idle the other half. So you can have more than 100% utilization if multiple cores are busy, although these numbers don’t tell you which cores are busy or how busy they actually are, it’s just a summary.

GPU utilization instead looks at the entire device, so 100% means all the GPU cores are loaded up. It’s not that the concept of CPU cores and GPU cores is different - actually Apple uses the terminology here in a fairly consistent way (with cores being physically and logically separate devices able of executing independent programs) - compare this to other companies where a „core“ often refers to a single unit of computation, which is much much smaller than a core (Apple GPU core for example contain 128 „shader cores“). But your software does not have as fine-grained control over the GPU cores. You simply submit work packages and the GPU will distribute them as it sees fit. The work packages are isolated from each other and have very limited ways of communicating. So from the software perspective a GPU core is pretty much a black box, while a CPU core is something much more tangible. So seeing the load on the individual GPU cores is less useful.

And anyway, if you are doing very heavy work on your GPU but can’t properly utilize the wide nature of the device (e.g. by not submitting enough jobs), you will get lower GPU utilization. So the overall utilization is a much more useful metric, both to the end user and to the developer.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.