Advertisement

Estimation of Round-off Errors in OpenMP Codes

  • Pacôme Eberhart
  • Julien Brajard
  • Pierre FortinEmail author
  • Fabienne Jézéquel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9903)

Abstract

It is crucial to control round-off error propagation in numerical simulations, because they can significantly affect computed results, especially in parallel codes like OpenMP ones. In this paper, we present a new version of the CADNA library that enables the numerical validation of OpenMP codes. With a reasonable cost in terms of execution time, it enables one to estimate which digits in computed results are affected by round-off errors and to detect numerical instabilities that may occur during the execution. The interest of this new OpenMP-enabled CADNA version is shown on various applications, along with performance results on multi-core and many-core (Intel Xeon Phi) architectures.

Keywords

CADNA library Discrete stochastic arithmetic Floating-point arithmetic Numerical validation Multi-core architectures Many-core architectures OpenMP Round-off error 

Notes

Acknowledgments

The authors thank Pierre-Emmanuel Le Roux (LIP6) for managing the compute servers, and Philippe Thierry (Intel) for providing the Intel compiler (2017-beta). They also thank the reviewers for their helpful comments.

References

  1. 1.
    Alefeld, G., Herzberger, J.: Introduction to Interval Analysis. Academic Press, New York (1983)zbMATHGoogle Scholar
  2. 2.
    OpenMP Architecture Review Board: OpenMP Application Program Interface, Version 4.0, July 2013Google Scholar
  3. 3.
    Brajard, J., Li, P., Jézéquel, F., Benavidès, H.-S., Thiria, S.: Numerical validation of data assimilation codes generated by the YAO software. In: SIAM Annual Meeting, San Diego, California, USA (2013)Google Scholar
  4. 4.
    Eberhart, P., Brajard, J., Fortin, P., Jézéquel, F.: High performance numerical validation using stochastic arithmetic. Reliable Comput. 21, 35–52 (2015)MathSciNetGoogle Scholar
  5. 5.
    Hölbig, C.A., Do Carmo, A., Arendt, L.P.: High accuracy and interval arithmetic on multicore processors. Comput. Appl. Math. 32(3), 425–434 (2013)CrossRefzbMATHGoogle Scholar
  6. 6.
    IEEE and The Open Group: The Open Group Base Specifications, 7th edn. (2013). http://pubs.opengroup.org/onlinepubs/9699919799
  7. 7.
    Intel: User and Reference Guide for the Intel C++ Compiler 15.0 (2015). https://software.intel.com/en-us/compiler_15.0_ug_c
  8. 8.
    Jézéquel, F., Chesneaux, J.-M.: CADNA: a library for estimating round-off error propagation. Comput. Phys. Commun. 178(12), 933–955 (2008)CrossRefzbMATHGoogle Scholar
  9. 9.
    Jézéquel, F., Lamotte, J.-L., Said, I.: Estimation of numerical reproducibility on CPU and GPU. In: Proceedings of the 2015 Federated Conference on Computer Science and Information Systems. Annals of Computer Science and Information Systems, vol. 5, pp. 675–680. IEEE (2015)Google Scholar
  10. 10.
    Kulisch, U.W.: Advanced Arithmetic for the Digital Computer. Springer, Wien (2002)CrossRefzbMATHGoogle Scholar
  11. 11.
    Milani, C.R., Kolberg, M., Fernandes, L.G.: Solving dense interval linear systems with verified computing on multicore architectures. In: Palma, J.M.L.M., Daydé, M., Marques, O., Lopes, J.C. (eds.) VECPAR 2010. LNCS, vol. 6449, pp. 435–448. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  12. 12.
    Montan, S., Denis, C.: Numerical verification of industrial numerical codes. In: Proceedings of ESAIM, vol. 35, pp. 107–113, March 2012Google Scholar
  13. 13.
    Nardi, L., Badran, F., Fortin, P., Thiria, S.: YAO: a generator of parallel code for variational data assimilation applications. In: International Conference on High Performance Computing and Communication, pp. 224–232. IEEE (2012)Google Scholar
  14. 14.
    Revol, N., Théveny, P.: Parallel implementation of interval matrix multiplication. Reliable Comput. 19(1), 91–106 (2013)MathSciNetGoogle Scholar
  15. 15.
    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)MathSciNetzbMATHGoogle Scholar
  16. 16.
    Vignes, J.: A stochastic arithmetic for reliable scientific computation. Math. Comput. Simul. 35(3), 233–261 (1993)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Vignes, J.: Discrete stochastic arithmetic for validating results of numerical software. Numer. Algorithms 37(1–4), 377–390 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Vreugdenhil, C.B.: Numerical Methods for Shallow-Water Flow. Springer, The Netherlands (1994)CrossRefzbMATHGoogle Scholar
  19. 19.
    Zimmer, Z.: Using C-XSC in a multi-threaded environment. Technical report BUGHW–WRSWT 2011/2, Universität Wuppertal, Germany (2011)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Pacôme Eberhart
    • 1
  • Julien Brajard
    • 2
    • 3
  • Pierre Fortin
    • 1
    Email author
  • Fabienne Jézéquel
    • 1
    • 4
  1. 1.Sorbonne Universités, UPMC Univ Paris 06, CNRS, UMR 7606, LIP6ParisFrance
  2. 2.Sorbonne Universités, UPMC Univ Paris 06, CNRS-IRD-MNHN, LOCEANParisFrance
  3. 3.Inria ParisParisFrance
  4. 4.Université Panthéon-AssasParis, Cedex 05France

Personalised recommendations