High Performance Computing Power Application Programming Interface (API) Specification

Achieving practical exascale supercomputing will require massive increases in energy efficiency. The bulk of this improvement will likely be derived from hardware advances such as improved semiconductor device technologies and tighter integration, hopefully resulting in more energy efficient computer architectures. Still, software will have an important role to play. With every generation of new hardware, more power measurement and control capabilities are exposed. Many of these features require software involvement to maximize feature benefits. This trend will allow algorithm designers to add power and energy efficiency to their optimization criteria. Similarly, at the system level, opportunities now exist for energy-aware scheduling to meet external utility constraints such as time of day cost charging and power ramp rate limitations. Finally, future architectures might not be able to operate all components at full capability for a range of reasons including temperature considerations or power delivery limitations. Software will need to make appropriate choices about how to allocate the available power budget given many, sometimes conflicting considerations.

For these reasons, we have developed a portable API for power measurement and control. This Power API provides multiple levels of abstractions to satisfy the requirements of multiple types of users. The latest specification document is available at the PowerAPI Community website (https://pwrapi.github.io/). We welcome feedback and collaboration with anyone that is interested. Please contact James Laros (jhlaros@sandia.gov) regarding feedback, collaborations or any questions regarding this effort.

An overview of the API and its reference implementation was published in IEEE Computer magazine in October 2016 entitled Standardizing Power Monitoring and Control at Exascale.

If you are planning to modify or use the Power API in a published scientific paper or technical report, please use the following citation for the Power API:
R. E. Grant, M. Levenhagen, S. L. Olivier, D. DeBonis, K. T. Pedretti and J. H. Laros III, “Standardizing Power Monitoring and Control at Exascale,” in Computer, vol. 49, no. 10, pp. 38-46, Oct. 2016. doi: 10.1109/MC.2016.308 BibTeX

Support for this work was provided through the Advanced Simulation and Computing (ASC) program funded by U.S. Department of Energy’s National Nuclear Security Agency.