We introduce Approximate Unrolling, a loop optimization that reduces execution time and energy consumption, exploiting the existence of code regions that can endure some degree of approximation while still producing acceptable results. This work focuses on a specific kind of forgiving region: counted loops that map a given functions over the elements of an array. Approximate Unrolling transforms loops in a similar way Loop Unrolling does. However, unlike its exact counterpart, our optimization does not unroll loops by adding exact copies of the loop's body. Instead, it adds interpolations. We describe our experimental implementation of Approximate Unrolling in the Server (C2) Compiler of the Open-JDK Hotspot JVM. The choice to implement our...
International audienceThis paper improves our previous research effort [1] by providing an efficient...
International audienceThis paper solves an open problem regarding loop unrolling after periodic regi...
International audienceModulo Variable Expansion (MVE) [1] used with soft- ware pipelining (SWP) may ...
We introduce Approximate Unrolling, a loop optimization that reduces execution time and energy consu...
It is well-known that, to optimize a program for speed-up, efforts should be focused on the regions ...
Loops in programs are the source of many optimizations for improv-ing program performance, particula...
The development of embedded applications typically faces memory and/or execution time con-straints. ...
Modern architectural trends in instruction-level parallelism (ILP) are to increase the computational...
International audienceThis article studies an important open problem in backend compilation regardin...
Loop optimizations such as loop unrolling, unfolding and invariant, code motion have long been used ...
Compilers base many critical decisions on abstracted architectural models. While recent research has...
ii The high performance of today’s microprocessors is achieved mainly by fast, multipleissuing hardw...
In order to deliver the promise of MooreÂs Law to the enduser, compilers must make decisions that ar...
International audienceSoftware pipelining is a powerful technique to expose fine-grain parallelism, ...
In order to improve the accuracy of loop unrolling factor in the compiler, we propose a loop unrolli...
International audienceThis paper improves our previous research effort [1] by providing an efficient...
International audienceThis paper solves an open problem regarding loop unrolling after periodic regi...
International audienceModulo Variable Expansion (MVE) [1] used with soft- ware pipelining (SWP) may ...
We introduce Approximate Unrolling, a loop optimization that reduces execution time and energy consu...
It is well-known that, to optimize a program for speed-up, efforts should be focused on the regions ...
Loops in programs are the source of many optimizations for improv-ing program performance, particula...
The development of embedded applications typically faces memory and/or execution time con-straints. ...
Modern architectural trends in instruction-level parallelism (ILP) are to increase the computational...
International audienceThis article studies an important open problem in backend compilation regardin...
Loop optimizations such as loop unrolling, unfolding and invariant, code motion have long been used ...
Compilers base many critical decisions on abstracted architectural models. While recent research has...
ii The high performance of today’s microprocessors is achieved mainly by fast, multipleissuing hardw...
In order to deliver the promise of MooreÂs Law to the enduser, compilers must make decisions that ar...
International audienceSoftware pipelining is a powerful technique to expose fine-grain parallelism, ...
In order to improve the accuracy of loop unrolling factor in the compiler, we propose a loop unrolli...
International audienceThis paper improves our previous research effort [1] by providing an efficient...
International audienceThis paper solves an open problem regarding loop unrolling after periodic regi...
International audienceModulo Variable Expansion (MVE) [1] used with soft- ware pipelining (SWP) may ...