Skip to content

docs: update power attribution guide for v0.10+ rewrite#204

Open
iacker wants to merge 1 commit into
sustainable-computing-io:mainfrom
iacker:docs/199-power-attribution-v0.10
Open

docs: update power attribution guide for v0.10+ rewrite#204
iacker wants to merge 1 commit into
sustainable-computing-io:mainfrom
iacker:docs/199-power-attribution-v0.10

Conversation

@iacker

@iacker iacker commented Jul 12, 2026

Copy link
Copy Markdown

What

Updates the power attribution guide to reflect the v0.10+ re-architecture, addressing the gaps listed in #199.

Changes

  • RAPL dynamic zones: the Energy Zones section now states that zones are discovered dynamically at runtime via the sysfs powercap interface (/sys/class/powercap/intel-rapl:*) instead of a hardcoded list, and notes primary-zone selection + name filtering.
  • Platform Power Sources (new section): documents RAPL, HWMon (sysfs), and Redfish BMC (PowerSubsystem with fallback to the deprecated Power API) as node power sources.
  • GPU Power Attribution (new section): documents NVML-based device power (nvmlDeviceGetPowerUsage), the idle/active split, per-process SM-utilization attribution (nvmlDeviceGetProcessUtilization), and MIG handling via DCGM with an equal-distribution fallback.
  • Model server note: clarifies that the trained kepler-model-server does not yet integrate with the rewrite, which reads power directly from hardware.
  • Key Metrics: adds kepler_node_gpu_watts / kepler_process_gpu_watts and corrects the outdated "GPU power not captured" statement.

Notes

Documentation-only. Content was cross-checked against the current core implementation (internal/device/ RAPL/HWMon meters, internal/platform/redfish/, and internal/device/gpu/nvidia/ collector). I recently synced the developer-facing GPU design doc in the core repo (kepler#2498), so this keeps the user-facing guide consistent with it.

Fixes #199

Addresses the gaps listed in issue sustainable-computing-io#199:

- RAPL zones are described as discovered dynamically at runtime via the
  sysfs powercap interface, not from a hardcoded list.
- Add a Platform Power Sources section covering RAPL, HWMon, and Redfish BMC
  (PowerSubsystem with fallback to the deprecated Power API) as node power
  sources.
- Add a GPU Power Attribution section documenting NVML-based device power,
  idle/active split, per-process SM-utilization attribution, and MIG
  handling via DCGM with an equal-distribution fallback.
- Note that the trained kepler-model-server does not yet integrate with the
  rewrite, which reads power directly from hardware interfaces.
- Add GPU power metrics to Key Metrics and correct the outdated claim that
  GPU power is not captured.

Fixes sustainable-computing-io#199

Signed-off-by: Billard <82095453+iacker@users.noreply.github.com>
@netlify

netlify Bot commented Jul 12, 2026

Copy link
Copy Markdown

Deploy Preview for sustainable-computing ready!

Name Link
🔨 Latest commit 11a81fc
🔍 Latest deploy log https://app.netlify.com/projects/sustainable-computing/deploys/6a53e6a7c364a80008abfffa
😎 Deploy Preview https://deploy-preview-204--sustainable-computing.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update power attribution docs for v0.10+ rewrite

1 participant