A framework for deep learning energy measurement and optimization.
Project description
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.
- Zeus (NSDI 23): Paper | Blog | Slides
- Chase (ICLR Workshop 23): Paper
- Perseus (SOSP 24): Paper | Blog | Slides
- 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
Contact
Jae-Won Chung (jwnchung@umich.edu)
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
761e18ff08e9270731569ef5536045ac143e64833f04e87aaf49841462e93797
|
|
MD5 |
8331fa586973d353678235363953eadc
|
|
BLAKE2b-256 |
0a5d9ab3a06753704b5c4f6b1ae2b4326b9068cccfbb7de23dd42f557a5d1a10
|
Provenance
The following attestation bundles were made for zeus-0.12.0.tar.gz
:
Publisher:
publish_pypi.yaml
on ml-energy/zeus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
zeus-0.12.0.tar.gz
-
Subject digest:
761e18ff08e9270731569ef5536045ac143e64833f04e87aaf49841462e93797
- Sigstore transparency entry: 214452715
- Sigstore integration time:
-
Permalink:
ml-energy/zeus@0a9e64ff436a26d95f543e38ae1e2b19b2e135c1
-
Branch / Tag:
refs/tags/zeus-v0.12.0
- Owner: https://github.com/ml-energy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
publish_pypi.yaml@0a9e64ff436a26d95f543e38ae1e2b19b2e135c1
-
Trigger Event:
push
-
Statement type:
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
1a8e354781a36fae7af868ef6d02131a48ee9cce770aea6f2bedb5535347ec1d
|
|
MD5 |
a97cd19f9e7d787e50c25fd15a4200b3
|
|
BLAKE2b-256 |
86e2250b5e7b167b382d8f3afb6687b473807ac5ddfa13423a51028202c20c5c
|
Provenance
The following attestation bundles were made for zeus-0.12.0-py3-none-any.whl
:
Publisher:
publish_pypi.yaml
on ml-energy/zeus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1
-
Predicate type:
https://docs.pypi.org/attestations/publish/v1
-
Subject name:
zeus-0.12.0-py3-none-any.whl
-
Subject digest:
1a8e354781a36fae7af868ef6d02131a48ee9cce770aea6f2bedb5535347ec1d
- Sigstore transparency entry: 214452718
- Sigstore integration time:
-
Permalink:
ml-energy/zeus@0a9e64ff436a26d95f543e38ae1e2b19b2e135c1
-
Branch / Tag:
refs/tags/zeus-v0.12.0
- Owner: https://github.com/ml-energy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com
-
Runner Environment:
github-hosted
-
Publication workflow:
publish_pypi.yaml@0a9e64ff436a26d95f543e38ae1e2b19b2e135c1
-
Trigger Event:
push
-
Statement type: