The accuracy of floating point summation
SIAM Journal on Scientific Computing
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
A Distillation Algorithm for Floating-Point Summation
SIAM Journal on Scientific Computing
Computer Arithmetic in Theory and Practice
Computer Arithmetic in Theory and Practice
Accuracy and Stability of Numerical Algorithms
Accuracy and Stability of Numerical Algorithms
Accurate and Efficient Floating Point Summation
SIAM Journal on Scientific Computing
SIAM Journal on Scientific Computing
A New Distillation Algorithm for Floating-Point Summation
SIAM Journal on Scientific Computing
An Introduction to GCC
LSODE and LSODI, two new initial value ordinary differnetial equation solvers
ACM SIGNUM Newsletter
Accurate Floating-Point Summation Part I: Faithful Rounding
SIAM Journal on Scientific Computing
A survey of shadowing methods for numerical solutions of ordinary differential equations
Applied Numerical Mathematics
Accurate Floating-Point Summation Part II: Sign, $K$-Fold Faithful and Rounding to Nearest
SIAM Journal on Scientific Computing
Correct Rounding and a Hybrid Approach to Exact Floating-Point Summation
SIAM Journal on Scientific Computing
Ultimately Fast Accurate Summation
SIAM Journal on Scientific Computing
Exact floating-point summation and its application in shadowing
Exact floating-point summation and its application in shadowing
Improving accuracy for matrix multiplications on GPUs
Scientific Programming
A new abstract domain for the representation of mathematically equivalent expressions
SAS'12 Proceedings of the 19th international conference on Static Analysis
Hi-index | 0.00 |
We present a novel, online algorithm for exact summation of a stream of floating-point numbers. By “online” we mean that the algorithm needs to see only one input at a time, and can take an arbitrary length input stream of such inputs while requiring only constant memory. By “exact” we mean that the sum of the internal array of our algorithm is exactly equal to the sum of all the inputs, and the returned result is the correctly-rounded sum. The proof of correctness is valid for all inputs (including nonnormalized numbers but modulo intermediate overflow), and is independent of the number of summands or the condition number of the sum. The algorithm asymptotically needs only 5 FLOPs per summand, and due to instruction-level parallelism runs only about 2--3 times slower than the obvious, fast-but-dumb “ordinary recursive summation” loop when the number of summands is greater than 10,000. Thus, to our knowledge, it is the fastest, most accurate, and most memory efficient among known algorithms. Indeed, it is difficult to see how a faster algorithm or one requiring significantly fewer FLOPs could exist without hardware improvements. An application for a large number of summands is provided.