Skip to main content

Can We Avoid Rounding-Error Estimation in HPC Codes and Still Get Trustworthy Results?

  • Conference paper
  • First Online:
Software Verification (NSV 2020, VSTTE 2020)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://cadna.lip6.fr.

  2. 2.

    http://www.lip6.fr/Fabienne.Jezequel/ARTICLES/CODES_NSV2020.tar.gz.

References

  1. Alefeld, G., Herzberger, J.: Introduction to Interval Analysis. Academic Press, Cambridge (1983)

    MATH  Google Scholar 

  2. Anderson, E., et al.: LAPACK Users’ Guide, 3rd edn. SIAM, Philadelphia (1999)

    Book  Google Scholar 

  3. 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)

    Article  MathSciNet  Google Scholar 

  4. 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)

    MATH  Google Scholar 

  5. Denis, C., de Oliveira Castro, P., Petit, E.: Verificarlo: checking floating point accuracy through Monte Carlo Arithmetic. In: ARITH’23, Silicon Valley, USA (2016)

    Google Scholar 

  6. Eberhart, P., Brajard, J., Fortin, P., Jézéquel, F.: High performance numerical validation using stochastic arithmetic. Reliable Comput. 21, 35–52 (2015)

    MathSciNet  Google Scholar 

  7. 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)

    Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. Frechtling, M., Leong, P.H.W.: MCALIB: measuring sensitivity to rounding error with Monte Carlo programming. ACM TOPLAS 37(2), 1–25 (2015)

    Article  Google Scholar 

  10. 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)

    Google Scholar 

  11. Graillat, S., Jézéquel, F., Wang, S., Zhu, Y.: Stochastic arithmetic in multiprecision. Math. Comput. Sci. 5(4), 359–375 (2011)

    Article  MathSciNet  Google Scholar 

  12. 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

    Chapter  Google Scholar 

  13. Higham, N.: Accuracy and Stability of Numerical Algorithms, 2nd edn. SIAM, Philadelphia (2002)

    Book  Google Scholar 

  14. IEEE Computer Society: IEEE Standard for Floating-Point Arithmetic. IEEE Standard 754-2008 (2008)

    Google Scholar 

  15. Jézéquel, F., Chesneaux, J.M.: CADNA: a library for estimating round-off error propagation. Elsevier CPC 178(12), 933–955 (2008)

    MATH  Google Scholar 

  16. Kulisch, U.: Advanced Arithmetic for the Digital Computer. Springer, Wien (2002). https://doi.org/10.1007/978-3-7091-0525-2

    Book  MATH  Google Scholar 

  17. Montan, S., Denis, C.: Numerical verification of industrial numerical codes. In: ESAIM: Proceedings, vol. 35, pp. 107–113 (2012)

    Google Scholar 

  18. 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)

    MathSciNet  MATH  Google Scholar 

  19. Vignes, J.: A stochastic arithmetic for reliable scientific computation. Math. Comput. Simul. 35(3), 233–261 (1993)

    Article  MathSciNet  Google Scholar 

  20. Vignes, J.: Discrete Stochastic Arithmetic for validating results of numerical software. Numer. Algorithms 37(1–4), 377–390 (2004)

    Article  MathSciNet  Google Scholar 

  21. Wilkinson, J.H.: Rounding Errors in Algebraic Processes, vol. 32. HMSO, Richmond (1963)

    MATH  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Fabienne Jézéquel .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics