Installation¶
Requirements¶
| Requirement | Version | Purpose |
|---|---|---|
| Python | >= 3.13 | Runtime |
| uv | latest | Package management |
| Rust | stable | Building the energy monitor |
| protoc | >= 3.0 | Protocol Buffer compiler for gRPC |
Install¶
git clone https://github.com/HazyResearch/intelligence-per-watt.git
cd intelligence-per-watt
bash intelligence-per-watt/scripts/setup.sh # (1)!
source .venv/bin/activate
- Auto-installs
uv, creates a Python 3.13 venv, installs the package, and builds the energy monitor. Pass extras as arguments:bash intelligence-per-watt/scripts/setup.sh ollama react
Extras¶
Install only what you need:
uv pip install -e 'intelligence-per-watt[ollama]' # Ollama client
uv pip install -e 'intelligence-per-watt[vllm]' # vLLM offline client
uv pip install -e 'intelligence-per-watt[react]' # ReAct agent (Agno)
uv pip install -e 'intelligence-per-watt[openhands]' # OpenHands agent
uv pip install -e 'intelligence-per-watt[terminus]' # Terminus agent
uv pip install -e 'intelligence-per-watt[agents]' # All agents
uv pip install -e 'intelligence-per-watt[tavily]' # Tavily web search
uv pip install -e 'intelligence-per-watt[flops]' # FLOPs estimation
uv pip install -e 'intelligence-per-watt[all]' # Everything
Platform Setup¶
Requires NVIDIA driver >= 525 (NVML ships with it).
Telemetry: GPU power, energy, temperature, memory, utilization, tensor core utilization (Ampere+). Optional CPU energy via RAPL.
Requires ROCm >= 5.0 with rocm-smi accessible.
Telemetry: GPU power, energy, temperature, memory, utilization. Optional CPU energy via RAPL.
Requires macOS 13+ on M1/M2/M3/M4 with sudo access.
Telemetry: GPU, CPU, and ANE power/energy via powermetrics. CPU memory usage.
Note
No GPU memory or utilization reporting (Apple Unified Memory). Requires password or passwordless sudo for powermetrics.
Inference Runtime¶
Environment Variables¶
Create a .env file in the project root (loaded automatically via python-dotenv):
# Required for LLM judge evaluation
OPENAI_API_KEY=sk-...
# Optional
ANTHROPIC_API_KEY=sk-ant-... # Anthropic models
TAVILY_API_KEY=tvly-... # Web search in agents