Static analysis of energy consumption for LLVM IR programs
Neville Grech, Kyriakos Georgiou, James Pallister, Steve Kerrison,, Jeremy Morse, Kerstin Eder

TL;DR
This paper presents a static analysis technique for estimating energy consumption of LLVM IR programs, enabling energy-aware software development without hardware measurements.
Contribution
It introduces novel static analysis methods for LLVM IR to estimate energy use across platforms, bridging the gap between high-level code and low-level energy models.
Findings
Accurately estimates energy consumption for LLVM IR functions
Validates analysis results against hardware measurements
Applicable to multiple architectures and compilers
Abstract
Energy models can be constructed by characterizing the energy consumed by executing each instruction in a processor's instruction set. This can be used to determine how much energy is required to execute a sequence of assembly instructions, without the need to instrument or measure hardware. However, statically analyzing low-level program structures is hard, and the gap between the high-level program structure and the low-level energy models needs to be bridged. We have developed techniques for performing a static analysis on the intermediate compiler representations of a program. Specifically, we target LLVM IR, a representation used by modern compilers, including Clang. Using these techniques we can automatically infer an estimate of the energy consumed when running a function under different platforms, using different compilers. One of the challenges in doing so is that of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
