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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file matcha_gpu-0.2.2.tar.gz.
File metadata
- Download URL: matcha_gpu-0.2.2.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b66f8613b526cb5a12ff5fc1e8bde3c0fb00b3dd08b054a1136e6157d74667f2
|
|
| MD5 |
9bf1d676ea552c0cbb4f030bc17caa10
|
|
| BLAKE2b-256 |
649c24383b80a667cbc0efef2f7bdaadc5d8fcd29ba338d7437fa95a341bfd81
|
File details
Details for the file matcha_gpu-0.2.2-py3-none-any.whl.
File metadata
- Download URL: matcha_gpu-0.2.2-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21bd87e31384a985d72c2e28847aaa225ed1fc011c56f39cab04a057414c8423
|
|
| MD5 |
232b9f69fe776a2e42a0587fbf08cd88
|
|
| BLAKE2b-256 |
4af0e3b2dadb103eff539513fb48362e097f34730587953f05a8e8773329b094
|