Optimizing Affine Control with Semantic Factorizations - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Article Dans Une Revue ACM Transactions on Architecture and Code Optimization Année : 2017

Optimizing Affine Control with Semantic Factorizations

Optimisation du contrôle affine avec des factorisations sémantiques

Résumé

Hardware accelerators generated by polyhedral synthesis make an extensive use of affine expressions (affine functions and convex polyhedra) in control and steering logic. Since the control is pipelined, these affine objects must be evaluated at the same time for different values, which forbids aggressive reuse of operators. In this report, we propose an algorithm to factorize a collection of affine expressions without preventing pipelining. Our key contributions are (i) to use semantic factorizations exploiting arithmetic properties of addition and multiplication and (ii) to rely on a cost function whose minimization ensures a correct usage of FPGA resources. Our algorithm is totally parametrized by the cost function, which can be customized to fit a target FPGA. Experimental results on a large pool of linear algebra kernels show a significant improvement compared to traditional low-level RTL optimizations. In particular, we show how our method reduces resource consumption by revealing hidden strength reductions.
Les accélérateurs matériels compilés par les algorithmes de synthèse polyédrique utilisent intensivement des expressions affines fonctions affines par morceaux, polyèdres convexes) dans leur contrôle. Comme le contrôle est pipeliné, ces objets affines doivent être évalués en même temps pour différentes valeurs d'entrée, ce qui interdit une réutilisation aggressive des opérateurs. Dans ce rapport, nous proposons un algorithme pour factoriser une collection d'expressions affines sans empêcher le pipeline. Nos contributions sont (i) l'utilisation de factorisations exploitant les propriétés arithmétiques de l'addition et de la multiplication et (ii) une fonction de coût dont la minimisation assure une utilisation efficace des ressources FPGA. Notre algorithme est totalement paramétré par la fonction de coût, qui peut être adaptée à un FPGA cible donné. Les résultats expérimentaux montrent que notre algorithme complète avantageusement les optimisations RTL bas-niveau implantées dans les outils de synthèse industriels. En particulier, nous montrons comment notre algorithme reduit la taille du circuit en révélant des réductions de force cachées.
Fichier principal
Vignette du fichier
RR-9034.pdf (933.56 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01470873 , version 1 (17-02-2017)
hal-01470873 , version 2 (03-03-2017)
hal-01470873 , version 3 (24-11-2017)

Identifiants

  • HAL Id : hal-01470873 , version 3

Citer

Christophe Alias, Alexandru Plesco. Optimizing Affine Control with Semantic Factorizations. ACM Transactions on Architecture and Code Optimization, 2017, 14 (4), pp.27. ⟨hal-01470873v3⟩
197 Consultations
266 Téléchargements

Partager

Gmail Facebook X LinkedIn More