Precision and error analysis of MATLAB applications during automated hardware synthesis for FPGAs
Proceedings of the conference on Design, automation and test in Europe
Proceedings of the 40th annual Design Automation Conference
A static analyzer for large safety-critical software
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Automated fixed-point data-type optimization tool for signal processing and communication systems
Proceedings of the 41st annual Design Automation Conference
Fast, Accurate Static Analysis for Fixed-Point Finite-Precision Effects in DSP Designs
Proceedings of the 2003 IEEE/ACM international conference on Computer-aided design
Assisted verification of elementary functions using Gappa
Proceedings of the 2006 ACM symposium on Applied computing
Semantics of roundoff error propagation in finite precision calculations
Higher-Order and Symbolic Computation
MPFR: A multiple-precision binary floating-point library with correct rounding
ACM Transactions on Mathematical Software (TOMS)
Formal Verification of Floating-Point Programs
ARITH '07 Proceedings of the 18th IEEE Symposium on Computer Arithmetic
Reconfigurable computing for learning Bayesian networks
Proceedings of the 16th international ACM/SIGDA symposium on Field programmable gate arrays
The pitfalls of verifying floating-point computations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Program transformation for numerical precision
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Combining Coq and Gappa for Certifying Floating-Point Programs
Calculemus '09/MKM '09 Proceedings of the 16th Symposium, 8th International Conference. Held as Part of CICM '09 on Intelligent Computer Mathematics
Evaluation of Static Analysis Techniques for Fixed-Point Precision Optimization
FCCM '09 Proceedings of the 2009 17th IEEE Symposium on Field Programmable Custom Computing Machines
Accuracy-Guaranteed Bit-Width Optimization
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
High-throughput Bayesian network learning using heterogeneous multicore computers
Proceedings of the 24th ACM International Conference on Supercomputing
Trustworthy numerical computation in Scala
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Automatically adapting programs for mixed-precision floating-point computation
Proceedings of the 27th international ACM conference on International conference on supercomputing
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
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 |
Reducing the arithmetic precision of a computation has real performance implications, including increased speed, decreased power consumption, and a smaller memory footprint. For some architectures, e.g., GPUs, there can be such a large performance difference that using reduced precision is effectively a requirement. The trade-off is that the accuracy of the computation will be compromised. In this paper we describe a proof assistant and associated static analysis techniques for efficiently bounding numerical and precision-related errors. The programmer/compiler can use these bounds to numerically verify and optimize an application for different input and machine configurations. We present several case study applications that demonstrate the effectiveness of these techniques and the performance benefits that can be achieved with rigorous precision analysis.