Inferring Parametric Energy Consumption Functions at Different Software Levels: ISA vs. LLVM IR
Umer Liqat, Kyriakos Georgiou, Steve Kerrison, Pedro Lopez-Garcia,, John P. Gallagher, Manuel V. Hermenegildo, Kerstin Eder

TL;DR
This paper presents a static analysis tool that infers energy consumption functions at ISA and LLVM IR levels, demonstrating that LLVM IR analysis offers better accuracy and insights for energy estimation in software development.
Contribution
The paper introduces a novel method for inferring energy consumption functions at multiple software levels, including a new translation and analysis framework from LLVM IR to energy models.
Findings
LLVM IR analysis achieves less than 6.4% average error compared to hardware measurements.
Analysis at LLVM IR level is more accurate and powerful than at ISA level.
The approach is applicable to various programming languages and architectures.
Abstract
The static estimation of the energy consumed by program executions is an important challenge, which has applications in program optimization and verification, and is instrumental in energy-aware software development. Our objective is to estimate such energy consumption in the form of functions on the input data sizes of programs. We have developed a tool for experimentation with static analysis which infers such energy functions at two levels, the instruction set architecture (ISA) and the intermediate code (LLVM IR) levels, and reflects it upwards to the higher source code level. This required the development of a translation from LLVM IR to an intermediate representation and its integration with existing components, a translation from ISA to the same representation, a resource analyzer, an ISA-level energy model, and a mapping from this model to LLVM IR. The approach has been applied…
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.
