What is "Package Power" in Powermetrics?

I am using powermetrics to collect the cpu_power information. I have a small command-line utility that uses some blas functions in Accelerate and I'd like to quantify the energy consumption of the algorithm.

My workflow is to start powermetrics, wait 1 second, start my program, and then stop powermetrics.

During that 1 second waiting period, "Package Power" is:

  • If GPU power is 0, Package power is exactly equal to CPU power even though DRAM power is not 0
  • If GPU power is not 0, Package power is usually (but not always) equal to CPU + GPU power even though DRAM power is not 0

When my algorithm is running, Package power is sometimes greater than the sum of everything else, but sometimes not. I've tried using powermetrics with other programs and am seeing similar results.

It appears that whatever "Package Power" means, it does not include "DRAM Power". The man page doesn't have any information, and other internet searches turn up empty or are definitely wrong.

Using blas functions on Apple Silicon could mean that the data is processed on one of the accelerator components rather than the traditional CPU cores and I'd really like to ensure I am capturing the energy usage without over or undercounting.

Thanks in advance!

Hello all, I went back and did some more reading. It seems that the best (public) explanation for what "package power" means on Apple Silicon is that it is everything on your M1 chip except memory. And I think that DRAM power is for the memory. So package power + dram power is everything on the M1 chip; it does not include things such as laptop backlight, disk power, etc.

I will keep my ears and eyes open for any better explanation, but I think that for my purposes this is a good enough answer.

What is "Package Power" in Powermetrics?
 
 
Q