Title
Precimonious: tuning assistant for floating-point precision
Abstract
Given the variety of numerical errors that can occur, floating-point programs are difficult to write, test and debug. One common practice employed by developers without an advanced background in numerical analysis is using the highest available precision. While more robust, this can degrade program performance significantly. In this paper we present Precimonious, a dynamic program analysis tool to assist developers in tuning the precision of floating-point programs. Precimonious performs a search on the types of the floating-point program variables trying to lower their precision subject to accuracy constraints and performance goals. Our tool recommends a type instantiation that uses lower precision while producing an accurate enough answer without causing exceptions. We evaluate Precimonious on several widely used functions from the GNU Scientific Library, two NAS Parallel Benchmarks, and three other numerical programs. For most of the programs analyzed, Precimonious reduces precision, which results in performance improvements as high as 41%.
Year
DOI
Venue
2013
10.1145/2503210.2503296
SC
Keywords
Field
DocType
floating-point program variable,highest available precision,floating-point program,numerical error,numerical analysis,present precimonious,dynamic program analysis tool,numerical program,lower precision,tuning assistant,precision subject,floating-point precision,floating point arithmetic,dynamic program analysis,program optimization
Program optimization,Mixed precision,Computer science,Floating point,Parallel computing,Program analysis,Numerical analysis,Dynamic program analysis,Extended precision,Debugging
Conference
ISSN
ISBN
Citations 
2167-4329
978-1-4503-2378-9
69
PageRank 
References 
Authors
1.82
14
10
Name
Order
Citations
PageRank
Cindy Rubio-González118711.88
Cuong Nguyen220735.89
Hong Diep Nguyen31388.93
James Demmel44817551.47
William Kahan5424102.12
Koushik Sen63753155.94
David H. Bailey7926138.47
Costin Iancu852934.78
David Hough9692.50
Rubio-Gonzalez, C.10691.82