Abstract
Numerical validation enables one to ensure the reliability of numerical computations that rely on floating-point operations. Discrete Stochastic Arithmetic (DSA) makes it possible to validate the accuracy of floating-point computations using random rounding. However, it may bring a large performance overhead compared with the standard floating-point operations. In this article, we show that with perturbed data it is possible to use standard floating-point arithmetic instead of DSA for the purpose of numerical validation. For instance, for codes including matrix multiplications, we can directly utilize the matrix multiplication routine (GEMM) of level-3 BLAS that is performed with standard floating-point arithmetic. Consequently, we can achieve a significant performance improvement by avoiding the performance overhead of DSA operations as well as by exploiting the speed of highly-optimized BLAS implementations. Finally, we demonstrate the performance gain using Intel MKL routines compared against the DSA version of BLAS routines.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Alefeld, G., Herzberger, J.: Introduction to Interval Analysis. Academic Press, Cambridge (1983)
Anderson, E., et al.: LAPACK Users’ Guide, 3rd edn. SIAM, Philadelphia (1999)
Carson, E., Higham, N.J.: Accelerating the solution of linear systems by iterative refinement in three precisions. SIAM J. Sci. Comput. 40(2), A817–A847 (2018)
Chesneaux, J.M., Vignes, J.: Les fondements de l’arithmétique stochastique. Comptes Rendus de l’Académie des Sciences - Series I - Mathematics 315, 1435–1440 (1992)
Denis, C., de Oliveira Castro, P., Petit, E.: Verificarlo: checking floating point accuracy through Monte Carlo Arithmetic. In: ARITH’23, Silicon Valley, USA (2016)
Eberhart, P., Brajard, J., Fortin, P., Jézéquel, F.: High performance numerical validation using stochastic arithmetic. Reliable Comput. 21, 35–52 (2015)
Eberhart, P., Landreau, B., Brajard, J., Fortin, P., Jézéquel, F.: Improving CADNA performance on GPUs. In: IPDPSW, Vancouver, Canada, pp. 1016–1025 (2018)
Eberhart, P., Brajard, J., Fortin, P., Jézéquel, F.: Estimation of round-off errors in OpenMP codes. In: Maruyama, N., de Supinski, B.R., Wahib, M. (eds.) IWOMP 2016. LNCS, vol. 9903, pp. 3–16. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-45550-1_1
Frechtling, M., Leong, P.H.W.: MCALIB: measuring sensitivity to rounding error with Monte Carlo programming. ACM TOPLAS 37(2), 1–25 (2015)
Févotte, F., Lathuilière, B.: Debugging and optimization of HPC programs in mixed precision with the Verrou tool. In: CRE at SC 2018, Dallas, USA (2018)
Graillat, S., Jézéquel, F., Wang, S., Zhu, Y.: Stochastic arithmetic in multiprecision. Math. Comput. Sci. 5(4), 359–375 (2011)
Haidar, A., et al.: The design of fast and energy-efficient linear solvers: on the potential of half-precision arithmetic and iterative refinement techniques. In: Shi, Y., et al. (eds.) ICCS 2018. LNCS, vol. 10860, pp. 586–600. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93698-7_45
Higham, N.: Accuracy and Stability of Numerical Algorithms, 2nd edn. SIAM, Philadelphia (2002)
IEEE Computer Society: IEEE Standard for Floating-Point Arithmetic. IEEE Standard 754-2008 (2008)
Jézéquel, F., Chesneaux, J.M.: CADNA: a library for estimating round-off error propagation. Elsevier CPC 178(12), 933–955 (2008)
Kulisch, U.: Advanced Arithmetic for the Digital Computer. Springer, Wien (2002). https://doi.org/10.1007/978-3-7091-0525-2
Montan, S., Denis, C.: Numerical verification of industrial numerical codes. In: ESAIM: Proceedings, vol. 35, pp. 107–113 (2012)
Vignes, J.: Zéro mathématique et zéro informatique. Comptes Rendus de l’Académie des Sciences - Series I - Mathematics 303, 997–1000 (1986)
Vignes, J.: A stochastic arithmetic for reliable scientific computation. Math. Comput. Simul. 35(3), 233–261 (1993)
Vignes, J.: Discrete Stochastic Arithmetic for validating results of numerical software. Numer. Algorithms 37(1–4), 377–390 (2004)
Wilkinson, J.H.: Rounding Errors in Algebraic Processes, vol. 32. HMSO, Richmond (1963)
Acknowledgements
This research was partially supported by the European Union’s Horizon 2020 research, innovation programme under the Marie Skłodowska-Curie grant agreement via the Robust project No. 842528 and the Japan Society for the Promotion of Science (JSPS) KAKENHI Grant No. 19K20286.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Jézéquel, F., Graillat, S., Mukunoki, D., Imamura, T., Iakymchuk, R. (2020). Can We Avoid Rounding-Error Estimation in HPC Codes and Still Get Trustworthy Results?. In: Christakis, M., Polikarpova, N., Duggirala, P.S., Schrammel, P. (eds) Software Verification. NSV VSTTE 2020 2020. Lecture Notes in Computer Science(), vol 12549. Springer, Cham. https://doi.org/10.1007/978-3-030-63618-0_10
Download citation
DOI: https://doi.org/10.1007/978-3-030-63618-0_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-63617-3
Online ISBN: 978-3-030-63618-0
eBook Packages: Computer ScienceComputer Science (R0)