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.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.
https://hdl.handle.net/10589/144730