Temporal Speculation for hardware accelerators
Spéculation temporelle pour accélérateurs matériels
Résumé
This thesis is focused on the use of timing speculation to improve the performance and energy efficiency of hardware accelerators. Timing speculation is the use of a circuit using a frequency or a voltage at which its operation is no longer guaranteed. It increases the performance of the circuit (computations per second) but also its energy efficiency (computations per joule). As the correct operation of the circuit is no longer guaranteed, it must be accompanied by an error detection mechanism. This mechanism must have the lowest possible additional cost in terms of resources used, energy and impact on performance. These overheads must indeed be low enough to make the approach worthwhile, but also be as low as possible to maximize the gain obtained. We present a new algorithm-level error detection mechanism for convolutions used in convolutional neural networks that meets these conditions. We show that combining this mechanism with timing speculation can improve the performance and energy efficiency of a convolution hardware accelerator.
Résumé : Cette thèse porte sur l’utilisation de la spéculation temporelle pour améliorer les performances et l’efficacité énergétique d’accélérateurs matériels. La spéculation temporelle consiste en l’utilisation d’un circuit en utilisant une fréquence ou une tension à laquelle son fonctionnement n’est plus garanti. Elle permet d’augmenter les performances du circuit (calculs par seconde) mais aussi son efficacité énergétique (calculs par joule). Comme le fonctionnement du circuit n’est plus garanti, elle doit être accompagnée d’un mécanisme de détection d’erreur. Celui-ci doit avoir un coût en ressources utilisées, en énergie et un impact sur les performances les plus faibles possibles. Ces surcoûts doivent effectivement être suffisamment faibles pour que l’approche vaille le coup, mais aussi être le plus bas possible pour maximiser les gains obtenus. Nous présentons un nouveau mécanisme de détection d’erreur au niveau algorithmique pour les convolutions utilisées dans les réseaux de neurones convolutifs qui remplit ces conditions. Nous montrons que la combinaison de ce mécanisme avec la spéculation temporelle permet d’améliorer les performances et l’efficacité énergétique d’un accélérateur matériel de convolution.