{"id":13520954,"url":"https://github.com/ml-energy/zeus","last_synced_at":"2025-03-31T20:30:23.112Z","repository":{"id":56778369,"uuid":"524510459","full_name":"ml-energy/zeus","owner":"ml-energy","description":"Deep Learning Energy Measurement and Optimization","archived":false,"fork":false,"pushed_at":"2025-03-20T22:47:20.000Z","size":161355,"stargazers_count":243,"open_issues_count":16,"forks_count":31,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-23T22:15:39.575Z","etag":null,"topics":["deep-learning","energy","mlsys"],"latest_commit_sha":null,"homepage":"https://ml.energy/zeus","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ml-energy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-13T21:20:30.000Z","updated_at":"2025-03-20T22:46:29.000Z","dependencies_parsed_at":"2023-10-02T20:07:01.000Z","dependency_job_id":"68ee8877-46ed-4131-917e-f600b1d6a0b7","html_url":"https://github.com/ml-energy/zeus","commit_stats":{"total_commits":313,"total_committers":12,"mean_commits":"26.083333333333332","dds":"0.12140575079872207","last_synced_commit":"c5e09ed8843b05685ff91253d0f0feb33af7ab42"},"previous_names":["ml-energy/zeus","symbioticlab/zeus"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-energy%2Fzeus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-energy%2Fzeus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-energy%2Fzeus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ml-energy%2Fzeus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ml-energy","download_url":"https://codeload.github.com/ml-energy/zeus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245365255,"owners_count":20603427,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","energy","mlsys"],"created_at":"2024-08-01T06:00:24.986Z","updated_at":"2025-03-31T20:30:23.107Z","avatar_url":"https://github.com/ml-energy.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/ml-energy/zeus/master/docs/assets/img/logo_dark.svg\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/ml-energy/zeus/master/docs/assets/img/logo_light.svg\"\u003e\n  \u003cimg alt=\"Zeus logo\" width=\"55%\" src=\"https://raw.githubusercontent.com/ml-energy/zeus/master/docs/assets/img/logo_light.svg\"\u003e\n\u003c/picture\u003e\n\u003ch1\u003eDeep Learning Energy Measurement and Optimization\u003c/h1\u003e\n\n[![Slack workspace](https://badgen.net/badge/icon/Join%20workspace/b31b1b?icon=slack\u0026label=Slack)](https://join.slack.com/t/zeus-ml/shared_invite/zt-2j5o12jqp-3LtNjgF_uBDTdNcaxWgpdw)\n[![Docker Hub](https://badgen.net/docker/pulls/symbioticlab/zeus?icon=docker\u0026label=Docker%20pulls)](https://hub.docker.com/r/symbioticlab/zeus)\n[![Homepage](https://custom-icon-badges.demolab.com/badge/Homepage-ml.energy-23d175.svg?logo=home\u0026logoColor=white\u0026logoSource=feather)](https://ml.energy/zeus)\n[![Apache-2.0 License](https://custom-icon-badges.herokuapp.com/github/license/ml-energy/zeus?logo=law)](/LICENSE)\n\u003c/div\u003e\n\n---\n**Project News** ⚡ \n\n- \\[2024/08\\] Perseus, an optimizer for large model training, was accepted to SOSP'24! [Paper](https://dl.acm.org/doi/10.1145/3694715.3695970) | [Blog](https://ml.energy/zeus/research_overview/perseus) | [Optimizer](https://ml.energy/zeus/optimize/pipeline_frequency_optimizer)\n- \\[2024/07\\] Added AMD GPU, CPU, and DRAM energy measurement support, and preliminary JAX support!\n- \\[2024/05\\] Zeus is now a PyTorch ecosystem project. Read the PyTorch blog post [here](https://pytorch.org/blog/zeus/)!\n- \\[2024/02\\] Zeus was selected as a [2024 Mozilla Technology Fund awardee](https://foundation.mozilla.org/en/blog/open-source-AI-for-environmental-justice/)!\n- \\[2023/07\\] We used the [`ZeusMonitor`](https://ml.energy/zeus/reference/monitor/energy/#zeus.monitor.energy.ZeusMonitor) to profile GPU time and energy consumption for the [ML.ENERGY leaderboard \u0026 Colosseum](https://ml.energy/leaderboard).\n---\n\nZeus is a library for (1) [**measuring**](https://ml.energy/zeus/measure) the energy consumption of Deep Learning workloads and (2) [**optimizing**](https://ml.energy/zeus/optimize) their energy consumption.\n\nZeus is part of [The ML.ENERGY Initiative](https://ml.energy).\n\n## Repository Organization\n\n```\nzeus/\n├── zeus/             # ⚡ Zeus Python package\n│  ├── monitor/       #    - Energy and power measurement (programmatic \u0026 CLI)\n│  ├── optimizer/     #    - Collection of time and energy optimizers\n│  ├── device/        #    - Abstraction layer over CPU and GPU devices\n│  ├── utils/         #    - Utility functions and classes\n│  ├── _legacy/       #    - Legacy code to keep our research papers reproducible\n│  ├── metric.py      #    - Prometheus metric export support\n│  ├── show_env.py    #    - Installation \u0026 device detection verification script\n│  └── callback.py    #    - Base class for callbacks during training\n│\n├── zeusd             # 🌩️ Zeus daemon\n│\n├── docker/           # 🐳 Dockerfiles and Docker Compose files\n│\n└── examples/         # 🛠️ Zeus usage examples\n```\n\n## Getting Started\n\nPlease refer to our [Getting Started](https://ml.energy/zeus/getting_started) page.\nAfter that, you might look at\n\n- [Measuring Energy](https://ml.energy/zeus/measure)\n- [Optimizing Energy](https://ml.energy/zeus/optimize)\n\n### Docker image\n\nWe provide a Docker image fully equipped with all dependencies and environments.\nRefer to our [Docker Hub repository](https://hub.docker.com/r/mlenergy/zeus) and [`Dockerfile`](docker/Dockerfile).\n\n### Examples\n\nWe provide working examples for integrating and running Zeus in the [`examples/`](/examples) directory.\n\n## Research\n\nZeus is rooted on multiple research papers.\nEven more research is ongoing, and Zeus will continue to expand and get better at what it's doing.\n\n1. Zeus (NSDI 23): [Paper](https://www.usenix.org/conference/nsdi23/presentation/you) | [Blog](https://ml.energy/zeus/research_overview/zeus) | [Slides](https://www.usenix.org/system/files/nsdi23_slides_chung.pdf)\n1. Chase (ICLR Workshop 23): [Paper](https://arxiv.org/abs/2303.02508)\n1. Perseus (SOSP 24): [Paper](https://arxiv.org/abs/2312.06902) | [Blog](https://ml.energy/zeus/research_overview/perseus) | [Slides](https://jaewonchung.me/pdf.js/web/viewer.html?file=/assets/attachments/pubs/Perseus_slides.pdf#pagemode=none)\n\nIf you find Zeus relevant to your research, please consider citing:\n\n```bibtex\n@inproceedings{zeus-nsdi23,\n    title     = {Zeus: Understanding and Optimizing {GPU} Energy Consumption of {DNN} Training},\n    author    = {Jie You and Jae-Won Chung and Mosharaf Chowdhury},\n    booktitle = {USENIX NSDI},\n    year      = {2023}\n}\n```\n\n## Other Resources\n\n1. Energy-Efficient Deep Learning with PyTorch and Zeus (PyTorch conference 2023): [Recording](https://youtu.be/veM3x9Lhw2A) | [Slides](https://ml.energy/assets/attachments/pytorch_conf_2023_slides.pdf)\n\n## Contact\n\nJae-Won Chung (jwnchung@umich.edu)\n","funding_links":[],"categories":["🛠 Tools","Consumption"],"sub_categories":["Optimization Tools","Computation and Communication"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fml-energy%2Fzeus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fml-energy%2Fzeus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fml-energy%2Fzeus/lists"}