Skip to main content

A framework for deep learning energy measurement and optimization.

Project description

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 (jwnchung@umich.edu)

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

zeus-0.12.0.tar.gz (194.2 kB view details)

Uploaded Source

Built Distribution

zeus-0.12.0-py3-none-any.whl (249.8 kB view details)

Uploaded Python 3

File details

Details for the file zeus-0.12.0.tar.gz.

File metadata

  • Download URL: zeus-0.12.0.tar.gz
  • Upload date:
  • Size: 194.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for zeus-0.12.0.tar.gz
Algorithm Hash digest
SHA256 761e18ff08e9270731569ef5536045ac143e64833f04e87aaf49841462e93797
MD5 8331fa586973d353678235363953eadc
BLAKE2b-256 0a5d9ab3a06753704b5c4f6b1ae2b4326b9068cccfbb7de23dd42f557a5d1a10

See more details on using hashes here.

Provenance

The following attestation bundles were made for zeus-0.12.0.tar.gz:

Publisher: publish_pypi.yaml on ml-energy/zeus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zeus-0.12.0-py3-none-any.whl.

File metadata

  • Download URL: zeus-0.12.0-py3-none-any.whl
  • Upload date:
  • Size: 249.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for zeus-0.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1a8e354781a36fae7af868ef6d02131a48ee9cce770aea6f2bedb5535347ec1d
MD5 a97cd19f9e7d787e50c25fd15a4200b3
BLAKE2b-256 86e2250b5e7b167b382d8f3afb6687b473807ac5ddfa13423a51028202c20c5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for zeus-0.12.0-py3-none-any.whl:

Publisher: publish_pypi.yaml on ml-energy/zeus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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