In order to train the machine learner that is central to MAGEEC, a large data set is required relating energy measurements and compiler optimisation passes. Our benchmarking suite, BEEBS, is comprised of 93 applications (correct at the time of writing), and is continuing to expand. Similarly, our current count of trivially optional optimization passes in GCC (for an AVR platform) is 120. If we consider a full factorial design, whereby we run a test for every possible configuration of compiler passes, for each benchmark, clearly the experiment will be enormous in scope. Therefore, it is in our interest to analyse the effects of each compiler pass on a per architecture basis, in order to determine which have negligible effect on energy consumption. To achieve this, as part of my contribution to the MAGEEC project this Summer, I will be working on implementing a Plackett-Burman design.
Posts from the ‘Benchmarking’ Category
Hello, my name is Greg Cawthorne, I’m with the MAGEEC project from 18th June to around September 4th and will be working with the team at Embecosm along with my peers at Bristol University.
In this first blog post I shall discuss what work has been done thus far — mainly around Machine Learning and collecting energy readings — as well as where I shall be doing further research and have potential routes to explore in terms of improvement.
One of the goals of MAGEEC is to work with real measurement data for the machine learner to train on. As it has been shown in a previous blog post, we have our own measurement board and a python library to easily work with it. The next step is naturally to take measurements on various platforms and various relevant programs. This is where the Bristol/Embecosm Embedded Energy Benchmark Suite comes in, or BEEBS for short.