zeus

zeus

Measure and optimize the energy consumption of your AI applications!

Stars: 293

Visit
 screenshot

Zeus is a library for measuring the energy consumption of Deep Learning workloads and optimizing their energy consumption. It provides functionalities for energy and power measurement, time and energy optimization, device abstraction, utility functions, and more. Zeus is part of The ML.ENERGY Initiative and has been recognized in various research papers and conferences. It offers a Docker image with all dependencies, working examples for integration, and ongoing research to enhance its capabilities.

README:

Zeus logo

Deep Learning Energy Measurement and Optimization

Slack workspace Docker Hub Homepage Apache-2.0 License


Project News

  • [2025/05] We shared our experience and design philosophy for the ML.ENERGY leaderboard in this paper.
  • [2025/05] Zeus now supports CPU, DRAM, AMD GPU, Apple Silicon, and NVIDIA Jetson platform energy measurement!
  • [2024/11] Perseus, an optimizer for large model training, appeared at SOSP'24! Paper | Blog | Optimizer
  • [2024/05] Zeus is now a PyTorch ecosystem project. Read the PyTorch blog post here!
  • [2024/02] Zeus was selected as a 2024 Mozilla Technology Fund awardee!

Zeus is a library for (1) measuring the energy consumption of Deep Learning workloads and (2) optimizing their energy consumption.

Zeus is part of The ML.ENERGY Initiative.

Repository Organization

zeus/
├── zeus/             # ⚡ Zeus Python package
│  ├── monitor/       #    - Energy and power measurement (programmatic & CLI)
│  ├── optimizer/     #    - Collection of time and energy optimizers
│  ├── device/        #    - Abstraction layer over CPU and GPU devices
│  ├── utils/         #    - Utility functions and classes
│  ├── _legacy/       #    - Legacy code to keep our research papers reproducible
│  ├── metric.py      #    - Prometheus metric export support
│  ├── show_env.py    #    - Installation & device detection verification script
│  └── callback.py    #    - Base class for callbacks during training
│
├── zeusd             # 🌩️ Zeus daemon
│
├── docker/           # 🐳 Dockerfiles and Docker Compose files
│
└── examples/         # 🛠️ Zeus usage examples

Getting Started

Please refer to our Getting Started page. After that, you might look at

Docker image

We provide a Docker image fully equipped with all dependencies and environments. Refer to our Docker Hub repository and Dockerfile.

Examples

We provide working examples for integrating and running Zeus in the examples/ directory.

Research

Zeus is rooted on multiple research papers. Even more research is ongoing, and Zeus will continue to expand and get better at what it's doing.

  1. Zeus (NSDI 23): Paper | Blog | Slides
  2. Chase (ICLR Workshop 23): Paper
  3. Perseus (SOSP 24): Paper | Blog | Slides
  4. The ML.ENERGY Benchmark: Paper

If you find Zeus relevant to your research, please consider citing:

@inproceedings{zeus-nsdi23,
    title     = {Zeus: Understanding and Optimizing {GPU} Energy Consumption of {DNN} Training},
    author    = {Jie You and Jae-Won Chung and Mosharaf Chowdhury},
    booktitle = {USENIX NSDI},
    year      = {2023}
}

Other Resources

  1. Energy-Efficient Deep Learning with PyTorch and Zeus (PyTorch conference 2023): Recording | Slides

Contact

Jae-Won Chung ([email protected])

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for zeus

Similar Open Source Tools

For similar tasks

For similar jobs