2Total Software Energy Reduction and Optimization (TSERO) was an InnovateUK supported follow-on project between Embecosm, Allinea (now part of ARM), Concertim and STFC Daresbury Hartree Center, running from June 2015 to September 2017. The project aimed to apply the techniques developed in the MAGEEC and Superoptimization projects to compiling energy efficient code for high performance computing systems and data centers. University of Bristol continued to be involved as technical advisors to the project.
Fitting custom energy loggers, like the MAGEEC Wand, to valuable HPC systems was not an option, so the data for machine learning was taken from the Allinea MAP tool, which collates energy information from all nodes in an HPC system. This required the MAGEEC system to use a much larger statistical sample to get useful data.
The machine learning system was rewritten for this project, based on the previous experience. Interfacing through the GCC plugin interface was too compiler specific, and proved very easy to select invalid optimization pass combinations which would crash to the compiler. We switched to controlling the compiler through the command line. This also made it easier to work with LLVM which has no standard plugin interface.
By late 2017 we were able to demonstrate that MAGEEC could improve execution speed compared to standard -O3 for some common HPC kernels. We did not see improvement in call cases, but where we did, the improvement averaged 8%. This is not as much as the target 20%, but still represents an important gain, particularly if we can achieve the same for energy efficiency. Google and Amazon between them spend US$1billion each year on energy for their data centers, and an 8% reduction is a significant saving.