CADNA: a library for estimating round-off error propagation
The CADNA library enables one to estimate round-off error propagation using a probabilistic approach. With CADNA the numerical quality of any simulation program can be controlled. Furthermore by detecting all the instabilities which may occur at run time, a numerical debugging of the user code can b...
Gespeichert in:
| Veröffentlicht in: | Computer physics communications Jg. 178; H. 12; S. 933 - 955 |
|---|---|
| Hauptverfasser: | , |
| Format: | Journal Article |
| Sprache: | Englisch |
| Veröffentlicht: |
Elsevier B.V
15.06.2008
Elsevier |
| Schlagworte: | |
| ISSN: | 0010-4655, 1879-2944 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Zusammenfassung: | The CADNA library enables one to estimate round-off error propagation using a probabilistic approach. With CADNA the numerical quality of any simulation program can be controlled. Furthermore by detecting all the instabilities which may occur at run time, a numerical debugging of the user code can be performed. CADNA provides new numerical types on which round-off errors can be estimated. Slight modifications are required to control a code with CADNA, mainly changes in variable declarations, input and output. This paper describes the features of the CADNA library and shows how to interpret the information it provides concerning round-off error propagation in a code.
Program title:CADNA
Catalogue identifier:AEAT_v1_0
Program summary URL:
http://cpc.cs.qub.ac.uk/summaries/AEAT_v1_0.html
Program obtainable from:CPC Program Library, Queen's University, Belfast, N. Ireland
Licensing provisions:Standard CPC licence,
http://cpc.cs.qub.ac.uk/licence/licence.html
No. of lines in distributed program, including test data, etc.:53 420
No. of bytes in distributed program, including test data, etc.:566 495
Distribution format:tar.gz
Programming language:Fortran
Computer:PC running LINUX with an i686 or an ia64 processor, UNIX workstations including SUN, IBM
Operating system:LINUX, UNIX
Classification:4.14, 6.5, 20
Nature of problem:A simulation program which uses floating-point arithmetic generates round-off errors, due to the rounding performed at each assignment and at each arithmetic operation. Round-off error propagation may invalidate the result of a program. The CADNA library enables one to estimate round-off error propagation in any simulation program and to detect all numerical instabilities that may occur at run time.
Solution method:The CADNA library [1] implements Discrete Stochastic Arithmetic [2–4] which is based on a probabilistic model of round-off errors. The program is run several times with a random rounding mode generating different results each time. From this set of results, CADNA estimates the number of exact significant digits in the result that would have been computed with standard floating-point arithmetic.
Restrictions:CADNA requires a Fortran 90 (or newer) compiler. In the program to be linked with the CADNA library, round-off errors on complex variables cannot be estimated. Furthermore array functions such as
product or
sum must not be used. Only the arithmetic operators and the
abs,
min,
max and
sqrt functions can be used for arrays.
Running time:The version of a code which uses CADNA runs at least three times slower than its floating-point version. This cost depends on the computer architecture and can be higher if the detection of numerical instabilities is enabled. In this case, the cost may be related to the number of instabilities detected.
References:
[1]
The CADNA library, URL address:
http://www.lip6.fr/cadna.
[2]
J.-M. Chesneaux, L'arithmétique Stochastique et le Logiciel CADNA, Habilitation á diriger des recherches, Université Pierre et Marie Curie, Paris, 1995.
[3]
J. Vignes, A stochastic arithmetic for reliable scientific computation, Math. Comput. Simulation 35 (1993) 233–261.
[4]
J. Vignes, Discrete stochastic arithmetic for validating results of numerical software, Numer. Algorithms 37 (2004) 377–390. |
|---|---|
| ISSN: | 0010-4655 1879-2944 |
| DOI: | 10.1016/j.cpc.2008.02.003 |