Skip to main content

Thermal-aware GPU tensor routing with Active Carbon Mitigation for energy-efficient deep learning

Project description

Eco-Route

Thermal-Aware Dynamic Tensor Routing & Active Carbon Mitigation for Energy-Efficient Deep Learning

Eco-Route is a Python framework that bridges hardware physics (thermals, power draw) with software orchestration (dynamic tensor routing). It monitors NVIDIA GPUs in real-time, predicts thermal throttling before it happens, migrates workloads to cooler devices, and actively reduces carbon emissions by adjusting GPU power limits based on grid carbon intensity.

Installation

# Core package (CLI + monitoring)
pip install eco-route

# With web dashboard
pip install eco-route[dashboard]

# With TensorFlow training benchmark
pip install eco-route[train]

# With system tray app
pip install eco-route[tray]

# Everything
pip install eco-route[all]

Or install from GitHub:

pip install git+https://github.com/Navaneeth270/eco-route.git

Requirements

  • Python 3.10+
  • NVIDIA GPU with drivers installed (the tool will clearly tell you if no GPU is detected)
  • No GPU? You can still explore with --synthetic mode for testing

Quick Start

# Check your system
eco-route info

# Live terminal monitor
eco-route monitor

# Launch web dashboard
eco-route dashboard

# Run training benchmark
eco-route train --steps 200 --batch-size 64

# System tray icon
eco-route tray

No GPU? No Problem

If you don't have an NVIDIA GPU, Eco-Route tells you clearly instead of faking data:

+------------------------------- GPU Not Found --------------------------------+
| No NVIDIA GPU detected on this system.                                       |
|                                                                              |
| Reason: NVIDIA driver not available (NVML Shared Library Not Found)          |
|                                                                              |
| Eco-Route requires an NVIDIA GPU with proper drivers to monitor              |
| real hardware telemetry (temperature, power draw, clock speed).              |
|                                                                              |
| To run with simulated data for testing, use:                                 |
|   eco-route monitor --synthetic                                              |
+------------------------------------------------------------------------------+

For testing and development, use synthetic mode:

eco-route monitor --synthetic
eco-route train --synthetic --steps 100

Features

Real-Time GPU Monitoring

  • Temperature, power draw, clock speed, utilization via NVIDIA NVML
  • Energy consumption tracking (Joules, kWh) with trapezoidal integration
  • Carbon footprint estimation using grid carbon intensity

Thermal-Aware Tensor Routing

  • Predicts GPU temperature 3 seconds ahead using scikit-learn
  • Automatically migrates TensorFlow operations to cooler GPUs
  • Cooldown mechanism prevents migration oscillation

Active Carbon Mitigation (ACM)

  • Monitors real-time grid carbon intensity
  • Dynamically caps GPU power based on grid cleanliness:
    • Clean grid (<200 gCO2/kWh): Full power
    • Moderate grid (200-400 gCO2/kWh): 85% power
    • Dirty grid (>400 gCO2/kWh): 60% power
  • Tracks carbon saved vs. training time trade-off

Web Dashboard

  • Real-time Streamlit dashboard with Plotly charts
  • Live GPU metrics, grid carbon intensity, power draw
  • Carbon Mitigation Impact visualizations (publication-ready)
  • ACM toggle and training controls

System Tray App

  • Taskbar icon with live GPU temperature (color-coded by grid zone)
  • Quick access to dashboard and ACM toggle

Architecture

eco_route/
  telemetry.py        Async NVML GPU monitor + energy accounting
  predictor.py        Thermal forecaster (scikit-learn)
  router.py           TensorFlow device routing + ACM integration
  carbon_controller.py  Active Carbon Mitigation engine
  train_loop.py       Benchmark training loop with analytical report
  cli.py              Command-line interface
  tray_app.py         System tray application
  mock_hardware.py    Synthetic GPU telemetry for testing

app/
  dashboard.py        Streamlit web dashboard

CLI Reference

Command Description
eco-route info System hardware and framework detection report
eco-route monitor Live terminal GPU & carbon monitor
eco-route monitor --synthetic Monitor with simulated GPU data
eco-route dashboard Launch Streamlit web dashboard
eco-route dashboard --port 8502 Dashboard on custom port
eco-route train --steps 200 Run training benchmark
eco-route train --synthetic --no-acm Baseline without ACM
eco-route tray Start system tray icon

License

MIT

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

eco_route-0.5.0.tar.gz (39.0 kB view details)

Uploaded Source

Built Distribution

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

eco_route-0.5.0-py3-none-any.whl (43.7 kB view details)

Uploaded Python 3

File details

Details for the file eco_route-0.5.0.tar.gz.

File metadata

  • Download URL: eco_route-0.5.0.tar.gz
  • Upload date:
  • Size: 39.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for eco_route-0.5.0.tar.gz
Algorithm Hash digest
SHA256 1014d66e232486ec8480a048bbe3bc3abdb020d8c2482db14ca81a94a67df8f1
MD5 1d59fbce5e7bcc58ee11e6db40decdda
BLAKE2b-256 2f872fd66d2f8f479c8a13292d2a682ba44865401b9de3e5578f27a6c9dd54a0

See more details on using hashes here.

File details

Details for the file eco_route-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: eco_route-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 43.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for eco_route-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70a4df5100b043e7a362a4b4204fdb925c4c963fa6aadf3e6175dea6b098e2b9
MD5 2fc9306852182d15568af280e2e62c86
BLAKE2b-256 62fbda7d5e686cff74d7e60709078d001351cf89c5ac9757a8495bbac60030be

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