Approximate Loop Unrolling

Marcelino Rodriguez-Cancio 1 Benoit Combemale 1 Benoit Baudry 1
1 DiverSe - Diversity-centric Software Engineering
IRISA-D4 - LANGAGE ET GÉNIE LOGICIEL, Inria Rennes – Bretagne Atlantique
Abstract : 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 technique directly in the compiler reduced Phase Order problems and transformation overhead. It also proved that our technique could actually improve the performance of a production-ready compiler. Using our modified version of the compiler , we perform several experiments showing that Approximate Unrolling is able reduce execution time and energy consumption of the generated code by a factor of 50% with minimal accuracy losses.
Type de document :
Pré-publication, Document de travail
2016
Liste complète des métadonnées

Littérature citée [40 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-01401828
Contributeur : Marcelino Rodriguez-Cancio <>
Soumis le : mercredi 23 novembre 2016 - 18:16:39
Dernière modification le : mercredi 29 novembre 2017 - 15:40:54
Document(s) archivé(s) le : mardi 21 mars 2017 - 00:52:12

Fichier

technical-paper-main.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-01401828, version 1

Citation

Marcelino Rodriguez-Cancio, Benoit Combemale, Benoit Baudry. Approximate Loop Unrolling. 2016. 〈hal-01401828〉

Partager

Métriques

Consultations de la notice

496

Téléchargements de fichiers

122