powersensor3
PowerSensor is a low-cost, custom-built device that measures the instantaneous power consumption of GPUs and other devices at a high time resolution.
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.4%) to scientific vocabulary
Repository
PowerSensor is a low-cost, custom-built device that measures the instantaneous power consumption of GPUs and other devices at a high time resolution.
Basic Info
- Host: GitHub
- Owner: nlesc-recruit
- License: apache-2.0
- Language: C
- Default Branch: main
- Homepage: https://powersensor3.readthedocs.io/
- Size: 13.3 MB
Statistics
- Stars: 10
- Watchers: 1
- Forks: 0
- Open Issues: 6
- Releases: 15
Metadata Files
README.md
PowerSensor3
Introduction
PowerSensor3 is a tool that measures the instantaneous power consumption of PCIe cards and SoC development boards like GPUs, Xeon Phis, FPGAs, DSPs, and network cards, at sub-millisecond time scale. It consists of a commodity microcontroller, commodity current and voltage sensors, and (for PCIe devices) a PCIe riser card. The microcontroller reports measurements to the host via USB. A small host library allows an application to determine its own energy efficiency. The high time resolution provides much better insight into energy usage than low-resolution built-in power meters (if available at all), as PowerSensor enables analysis of individual compute kernels.
Hardware
PowerSensor3 uses a modular hardware design with a base PCB containing a microcontroller and optionally a display, and up to four plug-in sensor boards. The PCB design, developed using KiCAD, is openly available here.
The default configuration of PowerSensor3 is an STM32F411 Black Pill microcontroller with SPI-based display, and up to four pairs of voltage and current sensors. Typical usage with a GPU is to measure both the 3.3 V and 12 V power through the PCIe slot, and up to two ATX 12 V connections directly from the power supply to the GPU. The microcontroller interprets the sensor data and reports the power measurements via USB to the host.
Disclaimer
You are about to modify electronic circuits. Improperly connecting wires can be dangerous and may damage computer equipment. We are not responsible for any harm or damage that might occur. Make sure that you understand very well how all cables should be connected. Do not install this tool if you are not absolutely sure what you are doing.
Getting started
Full documentation is available here. To get started:
- Clone this repository including submodules:
git clone https://github.com/nlesc-recruit/PowerSensor3 --recurse-submodules. If you have alread cloned the repository without submodules, run the following in the root of the repository:git submodule init; git submodule update. - Installation of the physical device and firwmare
- Installation of the host library
- PowerSensor configuration
- PowerSensor user guide
Citation
If you use PowerSensor3 in research or research software, please cite the following paper:
bibtex
@inproceedings{powersensor3,
title={PowerSensor3: A Fast and Accurate Open Source Power Measurement Tool},
author={Steven van der Vlugt and Leon Oostrum and Gijs Schoonderbeek and Ben van Werkhoven and Bram Veenboer and Krijn Doekemeijer and John W. Romein},
year={2025},
booktitle={IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)},
}
Further reading
Altering the firmware of the device could be necessary in certain use cases. For this please refer to the following documents:
- STM32F411CE BlackPill overview
- STM32F411CE Datasheet
- STM32F411CE Reference manual
- STM32F2/4/7 DMA programming manual
- STM32F40x/STM3241x EEPROM emulation in flash
Contributing
If you have a question, found a bug, or want to contribute to the development of PowerSensor3, please have a look at the contribution guidelines
Owner
- Name: RECRUIT
- Login: nlesc-recruit
- Kind: organization
- Location: Netherlands
- Repositories: 5
- Profile: https://github.com/nlesc-recruit
Reducing Energy Consumption in Radio-astronomical and Ultrasound Imaging Tools (RECRUIT)
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: PowerSensor3
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
repository-code: "https://github.com/nlesc-recruit/PowerSensor3"
license: Apache-2.0
#software version
version: 1.6.1
authors:
- given-names: Leon
family-names: Oostrum
email: l.oostrum@esciencecenter.nl
affiliation: Netherlands eScience Center
orcid: 'https://orcid.org/0000-0001-8724-8372'
- given-names: John
family-names: Romein
affiliation: ASTRON
orcid: 'https://orcid.org/0000-0002-1915-5067'
- given-names: Ben
family-names: van Werkhoven
affiliation: Netherlands eScience Center
orcid: 'https://orcid.org/0000-0002-7508-3272'
- given-names: Quinten
family-names: Twisk
- given-names: Gijs
family-names: Schoonderbeek
affiliation: ASTRON
orcid: 'https://orcid.org/0000-0001-9482-1253'
- given-names: Steven
family-names: van der Vlugt
affiliation: ASTRON
orcid: 'https://orcid.org/0000-0001-6834-4860'
GitHub Events
Total
- Create event: 26
- Release event: 4
- Issues event: 14
- Watch event: 3
- Delete event: 23
- Member event: 1
- Issue comment event: 3
- Push event: 49
- Pull request review event: 1
- Pull request review comment event: 1
- Pull request event: 40
Last Year
- Create event: 26
- Release event: 4
- Issues event: 14
- Watch event: 3
- Delete event: 23
- Member event: 1
- Issue comment event: 3
- Push event: 49
- Pull request review event: 1
- Pull request review comment event: 1
- Pull request event: 40
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 1
- Total pull requests: 7
- Average time to close issues: 4 months
- Average time to close pull requests: 12 days
- Total issue authors: 1
- Total pull request authors: 3
- Average comments per issue: 1.0
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 1
- Pull requests: 7
- Average time to close issues: 4 months
- Average time to close pull requests: 12 days
- Issue authors: 1
- Pull request authors: 3
- Average comments per issue: 1.0
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 1
Top Authors
Issue Authors
- loostrum (14)
Pull Request Authors
- loostrum (26)
- dependabot[bot] (5)
- benvanwerkhoven (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v2 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/checkout v2 composite
- citation-file-format/cffconvert-github-action 2.0.0 composite
- actions/checkout v2 composite
- actions/setup-python v3 composite
- actions/checkout v2 composite
- actions/download-artifact v3 composite
- actions/upload-artifact v3 composite
- mattnotmitt/doxygen-action v1.9 composite
- peaceiris/actions-gh-pages v3 composite