On Local Roundoff Errors in Floating-Point Arithmetic
Journal of the ACM (JACM)
Pracniques: further remarks on reducing truncation errors
Communications of the ACM
Accuracy and Stability of Numerical Algorithms
Accuracy and Stability of Numerical Algorithms
A Priori Worst Case Error Bounds for Floating-Point Computations
IEEE Transactions on Computers
An API for Runtime Code Patching
International Journal of High Performance Computing Applications
Program transformation for numerical precision
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Semantics-based transformation of arithmetic expressions
SAS'07 Proceedings of the 14th international conference on Static Analysis
On-the-fly detection of instability problems in floating-point program execution
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Efficient search for inputs causing high floating-point errors
Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming
Hi-index | 0.00 |
As scientific computation continues to scale, it is crucial to use floating-point arithmetic processors as efficiently as possible. Lower precision allows streaming architectures to perform more operations per second and can reduce memory bandwidth pressure on all architectures. However, using a precision that is too low for a given algorithm and data set will result in inaccurate results. Thus, developers must balance speed and accuracy when choosing the floating-point precision of their subroutines and data structures. We are building tools to help developers learn about the runtime floating-point behavior of their programs, and to help them make implementation decisions regarding this behavior. We propose a tool that performs automatic binary instrumentation of floating-point code to detect mathematical cancellations. In particular, we show how our prototype can detect the variation in cancellation patterns for different pivoting strategies in Gaussian elimination, as well as how our prototype can detect a program's sensitivity to ill-conditioned input sets.