[LLVMdev] Power/Energy Awareness in LLVM
Ghassan Shobaki
ghassan_shobaki at yahoo.com
Mon Apr 15 09:28:40 PDT 2013
Thank you for the link! It is not clear though what -Oe actually implements. Does it simply optimize for speed as suggested by Chris or it does other things?
Generally speaking, speed correlates well with low energy, because completing the task in fewer cycles means consuming less energy unless the speed optimization causes the energy per cycle to be significantly higher. In theory, some compiler and hardware optimizations such as instruction-level parallelism (ILP), speculative execution and pre-fetching increase the energy consumption per cycle. If the same speed can be achieved using less energy per cycle by controlling such optimizations, the total energy consumption will be less. Some of these optimizations may be controlled by the compiler. Also, the switching energy from one instruction to another depends on the instruction order. So, in theory, if there are multiple instruction orders that give the same speed, the order that minimizes the switching energy will consume less overall energy. There is some academic research on this with simulation data, but I am not aware of any actual implementation in a
production compiler that proves actual energy reduction. Has anyone ever implemented and experimented with such optimizations in LLVM?
Thanks
Ghassan Shobaki, PH.D
Assistant Professor
Department of Computer Science
Princess Sumaya University for Technology
Amman, Jordan
________________________________
From: Sean Silva <silvas at purdue.edu>
To: Ghassan Shobaki <ghassan_shobaki at yahoo.com>
Cc: "llvmdev at cs.uiuc.edu" <llvmdev at cs.uiuc.edu>
Sent: Monday, April 15, 2013 5:03 PM
Subject: Re: [LLVMdev] Power/Energy Awareness in LLVM
SeeĀ http://llvm.org/bugs/show_bug.cgi?id=6210.
-- Sean Silva
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130415/0c0dc863/attachment.html>
More information about the llvm-dev
mailing list