CAIRN Seminars Archives for 2017-2018

PhD Defense: Error Handling and Energy Estimation Framework For Error Resilient Near-Threshold Computing
Rengarajan Ragavan, IRISA-CAIRN
22nd September 2017, 10h00-12h00, Lannion room 020G
Abstract: Les techniques de gestion dynamique de la tension (DVS) sont principalement utilisés dans la conception de circuits numériques pour en améliorer l’efficacité énergétique. Cependant, la reduction de la tension d’alimentation augmente l’impact de la variabilité et des erreurs temporelles dans les technologies nano-métriques. L’objectif principal de cette thèse est de gérer les erreurs temporelles et de formuler un cadre pour estimer la consommation d’énergie d’applications résistantes aux erreurs dans le contexte du regime proche du seuil (NTR) des transistors. Dans cette thèse, la détection et la correction d’erreurs basées sur la spéculation dynamique sont explorées dans le contexte de l’adaptation de la tension et de la fréquence d‘horloge. Outre la detection et la correction des erreurs, certaines erreurs peuvent être également tolérées et les circuits peuvent calculer au-delà de leurs limites avec une precision réduite pour obtenir une plus grande efficacité énergétique. La méthode de détection et de correction d’erreur proposée atteint 71% d’overclocking avec seulement 2% de surcoût materiel. Ce travail implique une étude approfondie au niveau des portes logiques pour comprendre le comportement des portes sous l’effet de modification de la tension d’alimentation, de la tension de polarisation et de la fréquence d’horloge. Une approche ascendante est prise en étudiant les tendances de l’énergie par rapport a l’erreur des opérateurs arithmétiques au niveau du transistor. En se basant sur le profilage des opérateurs, un flot d’outils est formulé pour estimer les paramètres d’énergie et d’erreur pour différentes configurations. Nous atteignons une efficacité énergétique maximale de 89% pour les opérateurs arithmétiques comme les additionneurs 8 bits et 16 bits au prix de 20% de bits défectueux en operant en NTR. Un modele statistique est développé pour que les opérateurs arithmétiques représentent le comportement des opérateurs pour différents impacts de variabilité. Ce modele est utilisé pour le calcul approximatif dans les applications qui peuvent tolérer une marge d’erreur acceptable. Cette méthode est ensuite explorée pour unité d’exécution d’un processeur VLIW. L’environnement proposé fournit une estimation rapide des indicateurs d’énergie et d’erreurs d’un programme de référence par compilation simple d’un programme C. Dans cette méthode d’estimation de l’énergie, la caractérisation des opérateurs se fait au niveau du transistor, et l’estimation de l’énergie se fait au niveau fonctionnel. Cette approche hybride rend l’estimation de l’énergie plus rapide et plus precise pour différentes configurations. Les résultats d’estimation pour différents programmes de référence montrent une precision de 98% par rapport à la simulation SPICE.

PhD Defense: Methodology and Tools for Energy-aware Task Mapping on Heterogeneous Multiprocessor Architectures
Baptiste Roux, IRISA-CAIRN
23rd November 2017, 10h30-12h30, Rennes, Metivier Room
Abstract: During the last decade, the design of embedded systems was pushed to increase computational power while maintaining low energy consumption. As an example,autonomous vehicles such as drones are a representative application domain which combines vision, wireless communications and other computation intensive kernels constrained with a limited energy budget. With the advent of Multiprocessor System-on-Chip (MpSoC) architectures, simplification of processor cores decreased power consumption per operation, while the multiplication of cores brought performance improvement. However, the dark silicon issue led to the benefit of augmenting programmable processors with specialized hardware accelerators and to the rise of Heterogeneous MpSoC (HMpSoC) combining both software (SW) and hardware (HW) computational resources. For these heterogeneous architectures, performance and energy consumption depend on a large set of parameters such as the HW/SW partitioning, the type of HW implementation or the communication cost between HW and SW cores therefore leading to a huge design space.
In this thesis, we study how to reduce the development and implementation complexity of energy-efficient applications on HMpSoC. Multiple contributions are proposed to enhance Design Space Exploration (DSE) tools with energy objectives. First, a formal definition of HMpSoC structure is introduced alongside with a generic representation focused on the memory hierarchy. Then, a fast power modelling tool is proposed and validated on several applications. This power model separates the power sources in three families (static, dynamic computation and dynamic communication) and computes their contributions on global consumption independently. With a fine grain communications study, this approach rapidly computes energy consumption for a given application mapping on a HMpSoC. In a second time, we propose a methodology for energy-driven accelerator exploration on HMpSoC. This method builds upon the previous power model coupled with an Mixed Integer Linear Programming (MILP) formulation and enables to efficiently select HW accelerators and HW/SW partitioning which achieve energy efficient-mapping of a tiled application.
The experiments involved in these contributions show the complexity of DSE validation process on a wide range of applications and architectures. To address these issues, we introduce a HMpSoC simulator embedding a power model to monitor application execution. Properties of targeted architectures are described, at run-time with the previous generic representation model. Furthermore, this simulator is coupled with an application generator framework that could build an infinite set of representative applications following predefined computation models. The obtained applications could then be enriched with mapping directive and executed on the simulator. This combination enables to ease the research and validation of new DSE algorithms targeting energy-aware application mapping on a wide range of HMpSoC architectures.

C based synthesis of the RISC-V
Edwin Mascarenhas, IRISA-CAIRN
4th December 2017, 16h00-17h00, Rennes room Brehat + Lannion room 309N
Abstract: Since decades software and hardware have shared a symbiotic relationship – a situation whereboth elements support and need each other to thrive and progress. Innovations in hardware architecture are leading to better processors which can support the complex software applications being developed today. Similarly, software and programming languages have made it easier to prototype, simulate and even synthesize hardware, for example the High Level Synthesis tools. High level synthesis (HLS) or C synthesis is a hardware design technique where an algorithm written in high level language like C or C++ is interpreted to create digital hardware which implements the same functionality. HLS tools are very useful for designing IPs like filters, as they allow engineers to focus simply on functionality, without worrying about architectural details too much. But how far can these tools go? Can they be used to design something as complex as a microprocessor?
During my internship I have tried to answer these questions.During my work an in-order core micro-architecture supporting 32-bit RISC-V instruction set has been designed from C-based specifications using High-Level Synthesis (HLS) tools. Catapult Synthesis and a 28nm CMOS technology memory library has been used, together with logic synthesis and tools such as Synopsys Design Compiler and Modelsim. The design has also been validated, with real time RISC-V benchmarks and the core has been synthesized down to gate- level. Finally the results(clock frequency, area, power) obtained through RTL and gate level simulation have been compared with some of the existing RISC-V designs, such as Rocket core. Using Vivado HLS the core has been synthesized and tested on an FPGA as well. During this process I have studied the challenges involved and explored different programming paradigms which have to be kept in mind while designing hardware at this scale.

PhD Defense: Methods to Evaluate Accuracy-Energy Trade-Off in Operator-Level Approximate Computing
Benjamin Barrois, IRISA-CAIRN
11th December 2017, 10h00-12h00, Rennes room 020G, Lannion; visio room Métivier, Rennes
Abstract: The physical limits being reached in silicon-based computing, new ways have to be found to overcome the predicted end of Moore’s law. Many applications can tolerate approximations in their computations at several levels without degrading the quality of their output, or degrading it in an acceptable way.
This thesis focuses on approximate arithmetic architectures to seize this opportunity. Firstly, a critical study of state-of-the-art approximate adders and multipliers is presented. Then, a model for fixed-point error propagation leveraging power spectral density is proposed, followed by a model for bitwise-error rate propagation of approximate operators. Approximate operators are then used for the reproduction of voltage over-scaling effects in exact arithmetic operators.
Leveraging our open-source framework ApxPerf and its synthesizable template-based C++ libraries apx_fixed for approximate operators, and ct_float for low-power floating-point arithmetic, two consecutive studies are proposed leveraging complex signal processing applications. Firstly, approximate operators are compared to fixed-point arithmetic, and the superiority of fixed-point is highlighted. Secondly, fixed-point is compared to small-width floating-point in equivalent conditions. Depending on the applicative conditions, floating-point shows an unexpected competitiveness compared to fixed-point.
The results and discussions of this thesis give a fresh look on approximate arithmetic and suggest new directions for the future of energy-efficient architectures.

PhD Defense: Compromis pour l’implémentation d’accélérateurs sur FPGA
14th December 2017, 10h00-12h00, room Métivier, Rennes
Abstract: L’accélération matérielle désigne l’utilisation d’architectures spécialisées pour effectuer certaines tâches plus vite ou plus efficacement que sur du matériel générique. Les accélérateurs ont traditionnellement été utilisés dans des environnements contraints en ressources, comme les systèmes embarqués. Cependant, avec la fin des règles empiriques ayant régi la conception de matériel pendant des décennies, ces quinze dernières années ont vu leur apparition dans les centres de calcul et des environnements de calcul haute performance. Les FPGAs constituent une plateforme d’implémentation commode pour de tels accélérateurs, autorisant des compromis subtils entre débit/latence, surface, énergie, précision, etc. Cependant, identifier de bons compromis représente un défi, dans la mesure où l’espace de recherche est généralement très large. Cette thèse propose des techniques de conception pour résoudre ce problème. Premièrement, nous nous intéressons aux compromis entre performance et précision pour la conversion flottant vers fixe. L’utilisation de l’arithmétique en virgule fixe au lieu de l’arithmétique flottante est un moyen efficace de réduire l’utilisation de ressources matérielles, mais affecte la précision des résultats. La validité d’une implémentation en virgule fixe peut être évaluée avec des simulations, ou en dérivant des modèles de précision analytiques de l’algorithme traité. Comparées aux approches simulatoires, les méthodes analytiques permettent une exploration plus exhaustive de l’espace de recherche, autorisant ainsi l’identification de solutions potentiellement meilleures. Malheureusement, elles ne sont applicables qu’à un jeu limité d’algorithmes. Dans la première moitié de cette thèse, nous étendons ces techniques à des filtres linéaires multi-dimensionnels, comme des algorithmes de traitement d’image. Notre méthode est implémentée comme une analyse statique basée sur des techniques de compilation polyédrique. Elle est validée en la comparant à des simulations sur des données réelles. Dans la seconde partie de cette thèse, on se concentre sur les stencils itératifs. Les stencils forment un motif de calcul émergeant naturellement dans de nombreux algorithmes utilisés en calcul scientifique ou dans l’embarqué. À cause de cette diversité, il n’existe pas de meilleure architecture pour les stencils de façon générale: chaque algorithme possède des caractéristiques uniques (intensité des calculs, nombre de dépendances) et chaque application possède des contraintes de performance spécifiques. Pour surmonter ces difficultés, nous proposons une famille d’architectures pour stencils. Nous offrons des paramètres de conception soigneusement choisis ainsi que des modèles analytiques simples pour guider l’exploration. Notre architecture est implémentée sous la forme d’un flot de génération de code HLS, et ses performances sont mesurées sur la carte. Comme les résultats le démontrent, nos modèles permettent d’identifier les solutions les plus intéressantes pour chaque cas d’utilisation.