Abstract
Basic recursive summation and common dot product algorithm have a backward error bound that grows linearly with the vector dimension. Blanchard [1] proposed a class of fast and accurate summation and dot product algorithms respectively called FABsum and FABdot, which trades off the calculation accuracy and speed by the block size. Castaldo [2] proposed a multi-layer block summation and dot product algorithm called SuperBlocksum and SuperBlockdot that can increase the accuracy while adding almost no additional calculations. We combine the idea of [1] with the multi-layer block structure to propose SuperFABsum (for “super fast and accurate block summation”) and SuperFABdot (for “super fast and accurate block dot product”). Our algorithms have two variants, one is SuperFAB(within), the other is SuperFAB(outside). Our algorithms further improve accuracy and speed compared with FAB and SuperBlock. We conducted accuracy and speed tests on the high-performance FT2000+ processor. Experimental results show that SuperFABdot(within) algorithm is more accurate than FABdot and SuperBlockdot. Compared with FABdot, SuperFABdot(outside) algorithm can achieve up to 1.2\(\times \) performance speedup while ensuring similar accuracy.
This research is partly supported by the National Key Research and Development Program of China under Grant 2020YFA0709803, 173 Program under Grant 2020-JCJQ-ZD-029, the Science Challenge Project under Grant TZ2016002, and the Spanish Research project PGC2018-096026-B-I00 and the European Regional Development Fund and Diputación General de Aragón (E24-17R).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Blanchard, P., Higham, N.J., Mary, T.: A class of fast and accurate summation algorithms. SIAM J. Sci. Comput. 42(3), A1541–A1557 (2020)
Castaldo, A.M., Whaley, C.R., Chronopoulos, A.T.: Reducing floating point error in dot product using the superblock family of algorithms. SIAM J. Sci. Comput. 31(2), 1156–1174 (2009)
Gregory, J.: A comparison of floating point summation methods. Commun. ACM 15(9), 838 (1972)
Linnainmaa, S.: Analysis of some known methods of improving the accuracy of floating-point sums. BIT Numer. Math. 14(2), 167–202 (1974)
Robertazzi, T.G., Schwartz, S.C.: Best “ordering’’ for floating-point addition. ACM Trans. Math. Softw. (TOMS) 14(1), 101–110 (1988)
Higham, N.J.: The accuracy of floating point summation. SIAM J. Sci. Comput. 14(4), 783–799 (1993)
Kahan, W.: Pracniques: further remarks on reducing truncation errors. Commun. ACM 8(1), 40 (1965)
Ogita, T., Rump, S.M., Oishi, S.: Accurate sum and dot product. SIAM J. Sci. Comput. 26(6), 1955–1988 (2005)
Higham, N.J.: Accuracy and Stability of Numerical Algorithms, 2nd edn. SIAM, PA, USA (2002)
Goldberg, D.: What every computer scientist should know about floating-point arithmetic. SIAM J. Sci. Comput. 23(1), 5–48 (1991)
Zimmermann, P.: Reliable computing with GNU MPFR. In: International Congress on Mathematical Software, pp. 42–45 (2010)
Higham, N.J., Pranesh, S.: Simulating low precision floating-point arithmetic. SIAM J. Sci. Comput. 41(5), C585–C602 (2019)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 IFIP International Federation for Information Processing
About this paper
Cite this paper
He, K. et al. (2022). A Class of Fast and Accurate Multi-layer Block Summation and Dot Product Algorithms. In: Cérin, C., Qian, D., Gaudiot, JL., Tan, G., Zuckerman, S. (eds) Network and Parallel Computing. NPC 2021. Lecture Notes in Computer Science(), vol 13152. Springer, Cham. https://doi.org/10.1007/978-3-030-93571-9_6
Download citation
DOI: https://doi.org/10.1007/978-3-030-93571-9_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-93570-2
Online ISBN: 978-3-030-93571-9
eBook Packages: Computer ScienceComputer Science (R0)