Precision tuning is a long-standing practice in computer science, but solutions which automate such task are not widely employed in the industry. Previous research has focused on developing single-purpose tools only. While such tools aid the programmer while performing precision tuning, they cannot perform the entire process from start to finish. In this thesis we build upon the state of the art by integrating the entire process of precision tuning into a single autotuning toolchain, named TAFFO. TAFFO is built by exploiting the LLVM compiler framework, and is language and platform independent. It encompasses tasks such as evaluating the range of values in each variable, and actually applying a specific precision choice to the program. We evaluate our work on the AxBench and the Polybench benchmark suites, in order to gauge the improvements in execution time, with respect to the precision reduction in the output.

Il precision tuning è una tecnica da tempo diffusa in informatica, ma nell'industria si trovano raramente in uso delle soluzioni che la automatizzano. Precedenti attività di ricerca in questa area si sono concentrate nello sviluppo di strumenti che effettuano solo una parte di tale tecnica. Nonostante tali strumenti possano effettivamente aiutare un programmatore nell'effettuare l'adeguamento di precisione, essi non sono in grado di compiere questo processo dall'inizio alla fine. In questa tesi, basandoci sullo stato dell'arte, integriamo l'intero processo di precision tuning in un solo applicativo software, chiamato TAFFO. TAFFO è stato progettato utilizzando il framework LLVM, ed è indipendente dalla piattaforma e dal linguaggio. Al suo interno, TAFFO effettua compiti come la valutazione degli intervalli di valori corrispondenti ad ogni variabile, e la applicazione di una specifica scelta di precisione al programma. Valutiamo il nostro lavoro tramite le suite di benchmark AxBench e Polybench, al fine di misurare i miglioramenti raggiunti nel tempo di esecuzione, rispettivamente alla riduzione della precisione riscontrata nei dati prodotti.

TAFFO. Tuning assistant for floating point to fixed point optimization

CATTANEO, DANIELE;Di BELLO, ANTONIO
2017/2018

Abstract

Precision tuning is a long-standing practice in computer science, but solutions which automate such task are not widely employed in the industry. Previous research has focused on developing single-purpose tools only. While such tools aid the programmer while performing precision tuning, they cannot perform the entire process from start to finish. In this thesis we build upon the state of the art by integrating the entire process of precision tuning into a single autotuning toolchain, named TAFFO. TAFFO is built by exploiting the LLVM compiler framework, and is language and platform independent. It encompasses tasks such as evaluating the range of values in each variable, and actually applying a specific precision choice to the program. We evaluate our work on the AxBench and the Polybench benchmark suites, in order to gauge the improvements in execution time, with respect to the precision reduction in the output.
CHERUBIN, STEFANO
ING - Scuola di Ingegneria Industriale e dell'Informazione
20-dic-2018
2017/2018
Il precision tuning è una tecnica da tempo diffusa in informatica, ma nell'industria si trovano raramente in uso delle soluzioni che la automatizzano. Precedenti attività di ricerca in questa area si sono concentrate nello sviluppo di strumenti che effettuano solo una parte di tale tecnica. Nonostante tali strumenti possano effettivamente aiutare un programmatore nell'effettuare l'adeguamento di precisione, essi non sono in grado di compiere questo processo dall'inizio alla fine. In questa tesi, basandoci sullo stato dell'arte, integriamo l'intero processo di precision tuning in un solo applicativo software, chiamato TAFFO. TAFFO è stato progettato utilizzando il framework LLVM, ed è indipendente dalla piattaforma e dal linguaggio. Al suo interno, TAFFO effettua compiti come la valutazione degli intervalli di valori corrispondenti ad ogni variabile, e la applicazione di una specifica scelta di precisione al programma. Valutiamo il nostro lavoro tramite le suite di benchmark AxBench e Polybench, al fine di misurare i miglioramenti raggiunti nel tempo di esecuzione, rispettivamente alla riduzione della precisione riscontrata nei dati prodotti.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2018_12_Cattaneo_DiBello.pdf

Open Access dal 30/11/2019

Descrizione: Testo della tesi
Dimensione 592.89 kB
Formato Adobe PDF
592.89 kB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/144730