Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

David Hough 0001

dblp:42/305 · also David G. Hough · DBLP profile ↗
← Back
4ranked-venue papers
1as first author
0since 2021 · last 2016
0000-0003-0699-1880ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 2Software engineering, systems software and programming languages · 1Theory of computation · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 78% Program analysis · 17% Software testing · 5%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
High-performance computing · 100%

Topics — the 5 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › approximate computing › precision tuning
floating-point precision tuning
0.422016
Floating-point precision tuning using blame analysis · ICSE 2016
Precimonious: tuning assistant for floating-point precision · SC 2013
Program analysis
dynamic analysis
0.212013
Precimonious: tuning assistant for floating-point precision · SC 2013
Compilers and program optimization › approximate computing › precision tuning
mixed-precision tuning
0.212013
Precimonious: tuning assistant for floating-point precision · SC 2013
Compilers and program optimization › approximate computing
precision tuning
0.212013
Precimonious: tuning assistant for floating-point precision · SC 2013
High-performance computing
performance optimization at scale
0.112016
Floating-point precision tuning using blame analysis · ICSE 2016

Methods — techniques the papers use, named apart from their topics

search-based optimization · 0.5dynamic analysis · 0.5blame analysis · 0.5search-based type tuning · 0.2
YearPublicationVenuePosition
2016 Floating-point precision tuning using blame analysis
abstract
While tremendously useful, automated techniques for tuning the precision of floating-point programs face important scalability challenges. We present Blame Analysis, a novel dynamic approach that speeds up precision tuning. Blame Analysis performs floating-point instructions using different levels of accuracy for their operands. The analysis determines the precision of all operands such that a given precision is achieved in the final result of the program. Our evaluation on ten scientific programs shows that Blame Analysis is successful in lowering operand precision. As it executes the program only once, the analysis is particularly useful when targeting reductions in execution time. In such case, the analysis needs to be combined with search-based tools such as Precimonious. Our experiments show that combining Blame Analysis with Precimonious leads to obtaining better results with significant reduction in analysis time: the optimized programs execute faster (in three cases, we observe as high as 39.9% program speedup) and the combined analysis time is 9x faster on average, and up to 38x faster than Precimonious alone.
Cindy Rubio-González, Cuong Nguyen 0001, Benjamin Mehne, Koushik Sen, James Demmel, William Kahan, Costin Iancu, Wim T. L. P. Lavrijsen, David H. Bailey, David Hough 0001
ICSE10
2013 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%.
Cindy Rubio-González, Cuong Nguyen 0001, Hong Diep Nguyen, James Demmel, William Kahan, Koushik Sen, David H. Bailey, Costin Iancu, David Hough 0001
SC9
2012 Guest Editors' Introduction: Special Section on Computer Arithmetic
abstract
The four articles in this special section focus on the topic of computer arithmetic and its applications.
Elisardo Antelo, David Hough 0001, Paolo Ienne
IEEE Trans. Computers2
2005 Arithmetic Interactions: From Hardware to Applications
David Hough 0001, Bill Hay, Jeff Kidder, E. Jason Riedy, Guy L. Steele Jr., Jim Thomas 0004
IEEE Symposium on Computer Arithmetic1