Using Runtime Floating Point Accuracy Feedback to Make Automated Precision/Performance Improvements or Tradeoffs
Date
2015
Authors
Advisors
Journal Title
Journal ISSN
Volume Title
Repository Usage Stats
views
downloads
Abstract
In this thesis, we design frameworks for efficient and accurate floating point computation. The principle underlying our frameworks is making information usually discarded in the hardware, specifically, in the floating point unit, visible to the programmer. The programmer, or automated tools that we developed, can use this information to make accuracy/performance improvements or tradeoffs.
We make the error of floating point additions architecturally visible to programmers and experimentally demonstrate that programmers can use this error to improve the accuracy of their applications or improve the application's performance without affecting the accuracy of the final result. To free programmers from having to manually instrument their code, we develop a compiler pass to automate this process.
We also design a framework to profile applications to measure undesirable numerical behavior at the floating point operation level. We develop a debugger that programmers can use to find variables with "bad" behavior. In addition, we present a profile driven mixed precision analysis framework that heuristically determines the precision of all variables in an application based on their numerical behavior. We experimentally evaluate the mixed precision analysis to show that it can generate a range of results with different accuracies and precisions.
Type
Department
Description
Provenance
Subjects
Citation
Permalink
Citation
Nathan, Ralph (2015). Using Runtime Floating Point Accuracy Feedback to Make Automated Precision/Performance Improvements or Tradeoffs. Dissertation, Duke University. Retrieved from https://hdl.handle.net/10161/9813.
Collections
Except where otherwise noted, student scholarship that was shared on DukeSpace after 2009 is made available to the public under a Creative Commons Attribution / Non-commercial / No derivatives (CC-BY-NC-ND) license. All rights in student work shared on DukeSpace before 2009 remain with the author and/or their designee, whose permission may be required for reuse.