Making A Code Compiler Energy-Aware

Written by Michael Larabel in Programming on 16 April 2013 at 11:28 AM EDT. 30 Comments
PROGRAMMING
There's a discussion on the LLVM development mailing list about making the compiler become energy-aware to provide an optimization level that would provide the most power-efficient binaries. However, it isn't clear whether this would make sense over simply trying to assemble the fastest binary.

While an "-Oe" optimization level that would optimize for energy-efficient performance over the optimization levels for performance, debugability, or binary size, it wouldn't necessarily entail much and hasn't gained the interest of core upstream compiler developers. For commodity hardware, most compiler research indicates that the most energy-efficient binary is simply the fastest. The faster the work finishes, the quicker the processor can drop to one of its low-power states.

Three years ago there was a -Oe optimization proposal, which ended up getting quickly marked as invalid with LLVM's founder, Chris Lattner, reaffirming "faster = lower power" on mainstream CPUs.

While this older bug report was pointed out in the discussion, some have brought up possibilities of ways to lower memory use in an energy-efficient mode since on some hardware (especially ARM SoCs), RAM use can be a power-hungry operation over simply re-generating the values, among other approaches.

In this discussion, it was brought up that some researchers are working on some energy-efficiency improvements as part of the ENTRA Project. ENTRA is a three-year research project (October 2012 - 2015) funded by the European Union to promote energy-aware software development through "advanced program analysis and modelling of energy consumption" within systems. No fruits of this work have yet to be produced.

Those wishing to read the full mailing list discussion can do so beginning with this message.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week