Seminar 2017-11-08

Approximate Loop Unrolling: an illustration of trading accuracy for energy

Date: 2017-11-08
Time: 11:00-12:00
Speaker: Benoit Baudry, Professor at KTH

Title: Approximate Loop Unrolling: an illustration of trading accuracy for energy

Abstract
Approximate computing exploits the fact that many software systems can tolerate approximation in the accuracy of their result. These accuracy losses can then be turned into savings in resources such as energy, memory or time. I will briefly introduce this field, which emerges at the boundary of the hardware design, systems, programming language and software engineering communities. Then, I will illustrate the concept with our recent work on approximate loop unrolling.

Approximate loop unrolling transforms loops similarly to Loop Unrolling. However, unlike its exact counterpart, our optimization does not unroll loops by adding exact copies of the loop's body. Instead, it adds code that interpolates the results of previous iterations. We implemented approximate loop unrolling in the OpenJDK Hotspot C2 Compiler and performed experiments in various domains, which demonstrate energy savings while keeping accuracy within acceptable bounds.