You are here: Home / GW Innovations / Technologies Available

enDebug: Hardware-Software Framework for Automated Energy Debugging

Technology #015-057-venkataramani

Questions about this technology? Ask a Technology Manager

Download Printable PDF

Image Gallery
Guru Venkataramani
Asst. Professor at the Department of Electrical Engineering and Computer Engineering
External Link (
Jie Chen
Ph.D. in Computer Engineering
External Link (
Managed By
Jerry Comanescu
Licensing Associate (202) 994-8975
Patent Protection

Provisional Patent Application Filed
Files and Attachments
NCS_015-057-Venkataramani_Final_2015.07.21.pdf [PDF]

George Washington University researchers have developed enDebug, which is a hardware-software framework for automated energy debugging during the software development process. Energy costs incurred by software applications have grown rapidly with an exponential increase in the level of computational performance required by new applications. Therefore, estimating accurately the energy consumption of new software packages is increasingly important for developers in order to produce energy-efficient code. Existing measurement methods (e.g. Intel’s RAPL) are limited and only estimate average energy consumption per millisecond. They no longer provide the level of granularity currently needed to target energy reducing rewrites, which is necessary for the most energy intensive processes. The millisecond resolution, which corresponds to the execution of millions of code instructions, is now ineffective.

This new hardware-software framework, enDebug, overcomes this limitation by enabling fine-grained energy estimation for generation of high resolution energy profiles of code. This allows computer programmers and compilers to estimate energy consumption with high accuracy and apply targeted optimization techniques to reduce energy consumption of the new systems. Furthermore, this new technology allows software professionals to participate in energy-aware software development, and avoid the penalty of having to pay for expensive runtime energy-saving strategies in hardware, later in product development.

This technology aims to automate the process of energy debugging with an automated framework based on a cooperative approach between hardware and software. In addition, this framework comprises an automated recommendation system which is used to generate ‘optimizing program mutants’ while preserving full functional accuracy.

The effectiveness of this invention has been demonstrated using Splash-2, PARSEC-1.0, and SPEC CPU2006 benchmarks, where the researchers were able to achieve 7% energy savings beyond the highest compiler optimization on real-world Intel Core i7 processors.


• Software development

• Reduction of software energy use 

• Optimization of software code 


• Opportunity to actively manage energy consumption intensity of the software code

• Greatly reduced energy estimation errors in comparison to previous approaches

• Automating the process of energy debugging