4 ms·
> power consumption numbers down to the core using tools like HWMonitor. These are just rough estimates and can be wildly inaccurate (just like in the OSX post
by throwaway09223 4y ago
> power consumption numbers down to the core using tools like HWMonitor.
These are just rough estimates and can be wildly inaccurate (just like in the OSX post we're discussing). AFAIK there's no facility for actual measurement.
> On server hardware (where software-queriable power meters in the power supply are commonplace)
Are you certain these are actual meters and not just estimates done in software?
- adrian_b 4y agoAny modern computer has facilities for actual measurements. All motherboards contain sensor chips that can measure the voltages of all power supplies that are used on that board. All modern CPUs (i.e. all CPUs with variable clock frequency) have internal sensors that measure the currents and the voltages provided by their power supplies. From the currents and the voltages the power consumption is computed. The current and voltage values, together with the temperatures provided by one or more temperature sensors, are used by the algorithms that control the turbo clock frequencies. (The reason why power consumption values are needed by the turbo algorithms is because the chip temperature has a too large inertia, if the clock frequency would be reduced only after the temperature is already too high it would be too late; using the power consumption the future temperature raise can be predicted and the clock frequency can be reduced in advance, avoiding the overshooting of the maximum temperature.) Some of the values provided by the internal CPU sensors are available in model-specific registers, so the monitoring programs can read them and display the CPU power consumption. The discrete GPUs from NVIDIA and AMD also have internal sensors that can be read by programs to display the GPU power consumption. The GPUs also use their internal sensors to control their clock frequencies. Most inaccuracies in reporting the power consumption are due to poor or non-existent documentation of the sensors, which affects especially the AMD CPUs and some of the motherboard sensors. The Intel sensors are usually well documented. How to read and display the power consumption values provided by the internal CPU sensors can be seen e.g. in the source code of the utility turbostat, which can be found in the source tree of the Linux kernel. (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/power/x86/turbostat/turbostat.c https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...) Apple should have good internal documentation, which should enable accurate power consumption reporting. They cannot blame an external company which refused to provide adequate documentation for the sensors.
- throwaway09223 4y agoI don't believe this is correct. My understanding is that these tools all use RAPL, and RAPL data is calculated as I suggested (estimates from activity counters) rather than metering amps and volts. Turbostat uses RAPL data, as you can see by reading the source code you linked. I mention this because as far as I'm aware it's impractical to actually measure energy directly. I'm fairly certain that all of these types of systems use estimate models - whether it's in software or firmware.
- Kirby64 4y agoMost (all?) recently made graphics cards have shunt resistors specifically for measuring power (current) consumption and it is actually real time consumption. One of the ways that extreme overclockers (think, liquid nitrogen cooling) push cards harder is by 'power modding' them, by switching out the shunt resistors for smaller value resistors to trick the graphics card into thinking it is using less current than it actually is. It's similar on CPUs, but the monitoring circuitry is internal, I think.