TAFFO: The compiler-based precision tuner

Abstract

We present TAFFO, a framework that automatically performs precision tuning to exploit the perfor-mance/accuracy trade-off. In order to avoid expensive dynamic analyses, TAFFO leverages programmer annotations which encapsulate domain knowledge about the conditions under which the software being optimized will run. As a result, TAFFO is easy to use and provides state-of-the-art optimization efficacy in a variety of hardware configurations and application domains. We provide guidelines for the effective exploitation of TAFFO by showing a typical example of usage on a simple application, achieving a speedup up to 60% at the price of an absolute error of 3.53x10-5. TAFFO is modular and based on the solid LLvm technology, which allows extensibility to improved analysis techniques, and comprehensive support for the most common precision-reduced data types and programming languages. As a result, the TAFFO technology has been selected as the precision tuning tool of the European Training Network on Approximate Computing.

Publication
SOFTWAREX
Daniele Cattaneo
Daniele Cattaneo
Postdoctoral Researcher
Giovanni Agosta
Giovanni Agosta
Associate Professor

Giovanni Agosta, Associate Professor at Politecnico di Milano, holds a Laurea in Computer Engineering (2000) and a PhD in Information Technology (2004). His research focuses on compiler-computer architecture interaction, emphasizing performance, energy-efficiency, and security. He has authored 100+ papers, won multiple awards, and participated in 17 EU-funded projects.

Stefano Cherubin
Ph.D. Student