μ

Identifying Energy Efficient Compiler Optimisations Research Project

Energy measurement equipment

Page contents

Introduction

This project explored the effectiveness of many compiler options for a range of different architecture and benchmarks. We aimed to evaluate the following hypotheses:

  • The time and energy required for a computation are correlated.
  • There exists a set of compiler optimisations that gives a lower energy consumption than the predefined optimisation levels.
  • It is possible to search the compiler optimisation space in an efficient and systematic manner, to assign each optimisation an overall effectiveness.
  • There is no universally good optimisation across multiple benchmarks and platforms.

This research was funding by Embecosm and came about as a result of the EACO workshops.

Conclusions

The full conclusions and analysis can be read in the paper. Selected conclusions are presented below:

  • Most of the time, energy consumption is highly correlated to execution time.
  • Processors with complex pipelines have a more complex energy profile.
  • A fractional factorial design can be used to systematically explore the optimisation space, to a set degree of detail.
  • The structure of the benchmarks (code patterns) has a larger effect on the efficacy of the optimisation than the architecture.

Data Availability

All of the outputs of this project are open source. As such they are available for download:

Research Team

Academic staff

Research Students

Gallery

BeagleBone with inductors removed for power instrumentation Two measurement boards hooked up to the BeagleBone Energy measurement board Epiphany board with measurement board