Verified Instruction-Level Energy Consumption Measurement for NVIDIA GPUs
Klipsch School of Electrical and Computer Engineering, New Mexico State University, USA
arXiv:2002.07795 [cs.DC], (18 Feb 2020)
@misc{arafa2020verified,
title={Verified Instruction-Level Energy Consumption Measurement for NVIDIA GPUs},
author={Yehia Arafa and Ammar ElWazir and Abdelrahman ElKanishy and Youssef Aly and Ayatelrahman Elsayed and Abdel-Hameed Badawy and Gopinath Chennupati and Stephan Eidenbenz and Nandakishore Santhi},
year={2020},
eprint={2002.07795},
archivePrefix={arXiv},
primaryClass={cs.DC}
}
Graphics processor units (GPUs) are prevalent in modern computing systems at all scales. They consume a significant fraction of the energy in these systems. However, vendors do not publish the actual cost of the power/energy overhead of their internal microarchitecture. In this paper, we accurately measure the energy consumption of various instructions found in modern NVIDIA GPUs. We provide an exhaustive comparison of more than 40 instructions for four high-end NVIDIA GPUs from four different generations (Maxwell, Pascal, Volta, and Turing). Furthermore, we show the effect of the CUDA compiler optimizations on the energy consumption of each instruction. We use three different software techniques to read the GPU on-chip power sensors, which use NVIDIA’s NVML API and provide an in-depth comparison between these techniques. Additionally, we verified the software measurement techniques against a custom-designed hardware power measurement. The results show that Volta GPUs have the best energy efficiency of all the other generations for the different categories of the instructions. This work should give GPU architects and developers a more concrete understanding of these representative NVIDIA GPUs’ microarchitecture. It should also make energy measurements of any GPU kernel both efficient and accurate.
February 23, 2020 by hgpu