Rapl emi windows native - #1801
Conversation
…hecks, guard against zero metadata size
5734ea7 to
61d26b7
Compare
|
The metric_providers/psu/energy/ac/xgboost/machine/model should never be checked in as this is a submodule |
ribalba
left a comment
There was a problem hiding this comment.
Really cool that it seems to be a way to get to this data.
I would really be interrested in how far one can go down with the -i when does the EMI system block? When do the values diverge.
| @@ -0,0 +1,95 @@ | |||
| name: green-metrics-tool | |||
| "source": "EMI", | ||
| "explanation": "Derived CPU power via Windows Energy Meter Interface" | ||
| }, | ||
| "cpu_carbon_rapl_emi_component": { |
There was a problem hiding this comment.
before i got clean name displayed in the tool/ browser. to have a better name i put the second rapl into the JS config
| 'lmsensors_fan_component', | ||
| 'cpu_utilization_procfs_system', | ||
| 'cpu_utilization_mach_system', | ||
| 'cpu_utilization_windows_system', |
There was a problem hiding this comment.
As in the other PR this should then be 'cpu_utilization_emi_system',
| if not configured_providers['psu_energy_ac_xgboost_machine']['TDP']: | ||
| raise MetricProviderConfigurationError(f"{self._metric_name} provider could not be started.\nPlease set the TDP config option for PsuEnergyAcXgboostMachineProvider in the config.yml") | ||
|
|
||
| if 'cpu_utilization_mach_system' not in configured_providers and 'cpu_utilization_procfs_system' not in configured_providers: |
There was a problem hiding this comment.
This needs to be done in the submodule as a seperate PR
| @@ -0,0 +1,6 @@ | |||
| import psycopg2 | |||
There was a problem hiding this comment.
sry another local file shoudnt be there.
These belong to the separate, still-open utilization PR (green-coding-solutions#1789)
…tion-windows-native Brings in the renamed providers (cpu_utilization_win32_system, cpu_utilization_ntapi_core) plus their registration in phase_stats.py, XGBoost/SDIA energy providers, and config examples.
…anJahns/green-metrics-tool_rapl_metric_provider into rapl-emi-windows-native
Add Windows EMI RAPL energy provider (cpu_energy_rapl_emi_component)
Adds a new metric provider for Windows that reads CPU energy via the Windows Energy Meter Interface (EMI) — no custom kernel driver or test-mode required. The inbox Microsoft PPM driver on Windows 11 bridges RAPL MSRs to EMI automatically.
What changed
metric_providers/cpu/energy/rapl/emi/component/ — new provider: source.c (Win32 binary), provider.py (GMT wrapper), build.bat
install_windows.ps1 — builds the EMI binary during installation
config.yml.example — documents EMI provider in the Windows section
frontend/js/helpers/config.js.example — display names for EMI metrics
lib/phase_stats.py — maps cpu_utilization_windows_system/core to MEAN handler
psu/energy/ac/xgboost/machine/provider.py — adds Windows CPU utilization as valid input source
Validation
Initial run on Windows 11 (Intel CPU) with both EMI and Scaphandre active simultaneously showed <1% deviation:
EMI rapl_package0_pkg: 1.81 mWh / 14.47 W
Scaphandre cpu_package: 1.96 mWh / 15.40 W
Plan: extended local benchmark across multiple compression tools (gzip, zstd, bzip2, …) and file sizes to further validate driver consistency and cross-validate EMI vs. Scaphandre over a broader workload range. Results could also be compared against existing cluster measurements in the compression category?
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.