Algorithm 908: Online Exact Summation of Floating-Point Streams

被引:21
|
作者
Zhu, Yong-Kang [1 ]
Hayes, Wayne B. [1 ]
机构
[1] Univ Calif Irvine, Dept Comp Sci, Irvine, CA 92697 USA
来源
关键词
Algorithms; Reliability; Floating-point summation; rounding error; TREE CODE; ACCURATE; FAITHFUL;
D O I
10.1145/1824801.1824815
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
下载
收藏
页数:13
相关论文
共 50 条
  • [21] Correctly Rounded Arbitrary-Precision Floating-Point Summation
    Lefevre, Vincent
    IEEE TRANSACTIONS ON COMPUTERS, 2017, 66 (12) : 2111 - 2124
  • [22] High-Precision Anchored Accumulators for Reproducible Floating-Point Summation
    Lutz, David R.
    Hinds, Christopher N.
    2017 IEEE 24TH SYMPOSIUM ON COMPUTER ARITHMETIC (ARITH), 2017, : 98 - 105
  • [23] Floating-point errors in complex Cholesky algorithm
    Singer, S
    Singer, S
    NUMERICAL METHODS AND ERROR BOUNDS, 1996, 89 : 249 - 254
  • [24] High-Precision Anchored Accumulators for Reproducible Floating-Point Summation
    Burgess, Neil
    Goodyer, Chris
    Hinds, Christopher N.
    Lutz, David R.
    IEEE TRANSACTIONS ON COMPUTERS, 2019, 68 (07) : 967 - 978
  • [25] Redundant Floating-Point Decimal CORDIC Algorithm
    Vazquez, Alvaro
    Villalba-Moreno, Julio
    Antelo, Elisardo
    Zapata, Emilio L.
    IEEE TRANSACTIONS ON COMPUTERS, 2012, 61 (11) : 1551 - 1562
  • [26] Floating-point filter for the line intersection algorithm
    Frankel, A
    Nussbaum, D
    Sack, JR
    GEOGRAPHIC INFORMATION SCIENCE, PROCEEDINGS, 2004, 3234 : 94 - 105
  • [27] The NLMS algorithm in block floating-point format
    Mitra, A
    Chakraborty, M
    IEEE SIGNAL PROCESSING LETTERS, 2004, 11 (03) : 301 - 304
  • [28] PARALLEL ALGORITHMS FOR THE ROUNDING EXACT SUMMATION OF FLOATING POINT NUMBERS
    LEUPRECHT, H
    OBERAIGNER, W
    COMPUTING, 1982, 28 (02) : 89 - 104
  • [29] ERROR ANALYSIS OF CERTAIN FLOATING-POINT ONLINE ALGORITHMS
    WATANUKI, O
    ERCEGOVAC, MD
    IEEE TRANSACTIONS ON COMPUTERS, 1983, 32 (04) : 352 - 358
  • [30] Exact Versus Inexact Decimal Floating-Point Numbers and Arithmetic
    Mudawar, Muhamed F.
    IEEE ACCESS, 2023, 11 : 17891 - 17905