EDBT 2026 Demo / reviewers in the wild / expert
David Hough 0001
dblp:42/305 · also David G. Hough
· DBLP profile ↗
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
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › approximate computing › precision tuning
floating-point precision tuning |
0.4 | 2 | 2016 | Floating-point precision tuning using blame analysis · ICSE 2016 Precimonious: tuning assistant for floating-point precision · SC 2013 |
Program analysis
dynamic analysis |
0.2 | 1 | 2013 | Precimonious: tuning assistant for floating-point precision · SC 2013 |
Compilers and program optimization › approximate computing › precision tuning
mixed-precision tuning |
0.2 | 1 | 2013 | Precimonious: tuning assistant for floating-point precision · SC 2013 |
Compilers and program optimization › approximate computing
precision tuning |
0.2 | 1 | 2013 | Precimonious: tuning assistant for floating-point precision · SC 2013 |
High-performance computing
performance optimization at scale |
0.1 | 1 | 2016 | 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
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2016 | Floating-point precision tuning using blame analysisabstractWhile 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 |
ICSE | 10 |
| 2013 | Precimonious: tuning assistant for floating-point precisionabstractGiven 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 |
SC | 9 |
| 2012 | Guest Editors' Introduction: Special Section on Computer ArithmeticabstractThe 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. Computers | 2 |
| 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 Arithmetic | 1 |