Jump to content

[M1 Mac] What does GPU % mean in Activity Monitor, if the max % for the CPU is 100 * the # of cores? And how can I see individal loads on GPU Cores?

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?

Link to comment
Share on other sites

Link to post
Share on other sites

Idk how it is with Apple's integrated GPU, but Nvidia and AMD GPUs have as many "cores" as 10.496 (RTX 3090). And in any case, CPU and GPU cores are very different and cannot be directly compared. And looking at individual core loads isn't realistic when talking about thousands of them.

If someone did not use reason to reach their conclusion in the first place, you cannot use reason to convince them otherwise.

Link to comment
Share on other sites

Link to post
Share on other sites

You're on the money with the last sentence. The GPU "cores" for Apple's SOCs are just something they made up so that end users could easily tell which systems had a more powerful GPU, and roughly how much more powerful it would be. 

 

In the Anadtech breakdown you can see that the GPU does not consist of 8 equal blobs. Instead it has 128 ALUs, 64 texture units, and 32 ROPs. That is the 8 core unit of course.

 

So there's not an easy way to make a per "core" breakdown in Activity monitor or anywhere else because if you really were going so low level that you cared how busy each render output unit was you wouldn't want it divided into 8ths or 7ths. 

Link to comment
Share on other sites

Link to post
Share on other sites

  • 2 weeks later...

The % GPU load indication is a very bad approximation of usage (just like the % value for a cpu). But for a range of reasons its even more hand wavy than the cpu.  From my expirance the active monitor seems to indicate the maximum number of congruent thread groups that were active during a given priord (even if they were only active for 1ms if all groups were in use then it will show 100%). ... it does not indicated the real usage of your gpu.

if you want to do that then you should look into the tools provided in Xcode (you can download this from the App Store for free) when opening Xcode you can in the menu bar click 'XCode -> Open Developer Tools -> Instruments' this opens a tool you can use to inspect in much much more detail the usage and behaviour of apps running on your system.

From here apple provide some (useful ish) templates but you can build your own templates. From here you can capture information about the load on your gpu in many different ways at a high resolution including. The GPU metrics you can get are in fact quite a bit more detailed than most CPU metrics.

* 'Occupancy' how many of the gpu threads are active  (this is the value that is used by activity monitor)
* 'ALU limit/Utilisation' and indiction of how close the application is getting to fully staturing the raw math compute power of the gpu (most apps will be limited on other factors and not come close to this) This is also broken down by data type (FP16, 32 etc) 
* Textures (the same as the ALU but for sampling textures, this is its own debated hardware unit)
* Read/Write/Store etc all 

* Read and write bandwidth 

 

and many more..

 

in summary the number you get in activity monitor is a very bad way of indicating how much pressure your GPU is under in the most extreme situation it could show 100% and yet only be under load for 1ns in every second, this is why if you plug many high res monitors it will show up a very high % usage in activity monitor since 60 times. second it will need to render out a new frame (that will take less than 1ns for regular desktop use) but with enough pixels that itself will use the full gpu. 
 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×