Awesome
<div align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/ml-energy/zeus/master/docs/assets/img/logo_dark.svg"> <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/ml-energy/zeus/master/docs/assets/img/logo_light.svg"> <img alt="Zeus logo" width="55%" src="https://raw.githubusercontent.com/ml-energy/zeus/master/docs/assets/img/logo_light.svg"> </picture> <h1>Deep Learning Energy Measurement and Optimization</h1> </div>Project News ⚡
- [2024/08] Perseus, an optimizer for large model training, was accepted to SOSP'24! Preprint | Blog | Optimizer
- [2024/07] Added AMD GPU, CPU, and DRAM energy measurement support, and preliminary JAX support!
- [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!
- [2023/07] We used the
ZeusMonitor
to profile GPU time and energy consumption for the ML.ENERGY leaderboard & Colosseum.
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
│ ├── 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.
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)