Skip to main content

GPU energy metering for AI training workloads

Project description

⚡ matcha

GPU energy metering for AI training workloads. Pure Python. No dashboards.

Polls GPU power at 100ms via NVML and reports energy consumption per training step.

Built by Keeya Labs.

Install

pip install matcha-gpu

Requires an NVIDIA GPU with drivers installed (nvidia-smi must work).

Quick Start

Option A: Wrap any training script (zero code changes)

matcha wrap python train_gpt.py

Matcha parses your script's stdout for step markers (step 10, iter 10, [10/1000], etc.) and reports energy between each step.

# also print the training script's output
matcha wrap -p python train_gpt.py

# custom gpu and sampling interval
matcha wrap --gpu 1 --interval 50 python train_gpt.py

Option B: SDK (3 lines added to your training loop)

import matcha

m = matcha.init()

for step in range(num_steps):
    m.step_start()

    # ... your training code, unchanged ...

    energy = m.step_end(step)
    # energy.energy_j   — joules
    # energy.avg_power_w — average watts during step
    # energy.peak_power_w

summary = m.finish()
# summary.total_energy_j
# summary.energy_kwh
# summary.j_per_step

Monitor GPU power (no training script)

matcha monitor
matcha monitor --gpu 0 --window 2.0

Output

  ⚡ matcha — gpu energy metering
  ────────────────────────────────────────────────────────
  gpu        NVIDIA H100 80GB HBM3
  tdp        700W
  sampling   every 100ms
  ────────────────────────────────────────────────────────

    step      energy      time    avg W   peak W  power
  ────────────────────────────────────────────────────────
       0     12.45 J    0.198s   62.8W    71.2W  ██████░░░░░░
       1     13.01 J    0.201s   64.7W    73.1W  ██████░░░░░░
       2     12.88 J    0.199s   64.7W    72.4W  ██████░░░░░░

  ────────────────────────────────────────────────────────
  ⚡ session summary
  ────────────────────────────────────────────────────────

  gpu            NVIDIA H100 80GB HBM3
  total energy   623.45 J
  total time     10.02s
  steps          50
  energy/step    12.47 J
  avg power      62.2W
  peak power     73.1W

  est. cost      $0.000021 @ $0.12/kWh

License

Apache 2.0 — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matcha_gpu-0.2.1.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

matcha_gpu-0.2.1-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file matcha_gpu-0.2.1.tar.gz.

File metadata

  • Download URL: matcha_gpu-0.2.1.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for matcha_gpu-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e4939a1cde5b47d4015309b22321716292f404f0db330e0337293074a05bbd19
MD5 7834af277914549dc2fa8873bfc85813
BLAKE2b-256 b67f5e762d2169a485d34e2084b0214430402933877b6f46ef1d67e7479969d9

See more details on using hashes here.

File details

Details for the file matcha_gpu-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: matcha_gpu-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for matcha_gpu-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e39664eaa622ec666496eef410ec8ab44a218cea6c8e9be9869c72df27a3730
MD5 469f6207e8944f127bea0cc5c1366b2e
BLAKE2b-256 ff9dda211108c50d454fa8ddcc150076b9c4b4eaf8031cb0c6e8a6290bb2f4f3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page