by Bernard Philippe
CNES, IRISA and SIMULOG are producing a software toolbox which integrates already existing tools that can be used to evaluate a program's numerical reliability within a consistent framework. The prototype has been developed by SIMULOG under the name AQUARELS and with the financial support of CEA, CNES and DRET. It will be completed in June `95.
Although most of the effort nowadays in scientific computing is concentrated on speeding up the computation, it is also advisable to evaluate the degree of reliability which can be expected of the results. Even if parallel computers do not introduce any new difficulties in the effect of round-off errors, they increase the need for tools to analyse the numerical reliability of a given program.
There are three main reasons why such tools are needed now. Firstly there is the volume of the computation which can be of several order of magnitude higher than in the applications run on conventional computers. Secondly, the larger runs often come from precise simulations in which the mesh refinement leads to ill-conditioned problems. Last but not least, the use of parallel computers may encourage the programmer to select new algorithms which are well-suited to the architecture but which have a poor numerical performance.
These considerations have led CNES, IRISA and SIMULOG to define a software toolbox, AQUARELS, which includes already existing tools in a consistent framework. The AQUARELS toolbox aims at addressing two typical requirements. The first is oriented to the designer who programs a given application. Before its definite release, such programs must be tested on difficult situations. AQUARELS provides tools to analyse the quality of the results. If some failure should occur after the program is in production, AQUARELS can help the user pin-point the problem.
The tools are organized into different subsets. The system provides the use of different types of arithmetic: multiprecision and intervals. With multi-precision, computations can be made at very high precision in order to obtain very accurate results; it can also provide truncated precision to study numerical stability. The only way to obtain a proven enclosure of an interval is to use interval computation with directed roundings. Recently, new interest in interval arithmetic has arisen with the concept of a precise scalar product which limits the growth of the width interval and with the so-called enclosure methods as proposed by Kulish and his co-workers. These arithmetics are implemented by libraries, but using these libraries can be cumbersome. Therefore AQUARELS defines an extension of FORTRAN-77 by creating new types of variables. A pre-processor then translates extended FORTRAN into FORTRAN-77 by inserting calls to the routines.
Perturbation techniques are based on the statistical analysis of samples of results which are obtained by creating random perturbations in the initial values or the operations. The stability of the algorithm can be determined by examining certain parameters computed from the samples. AQUARELS provides routines which can realize and analyse the perturbations.
Since the AQUARELS toolbox is intended to reside on a workstation and to analyse runs on a back-end computer (typically a supercomputer), several tools are devoted to the characterization of floating point arithmetic and the precision guaranteed by the mathematical functions.
The first tests on real-life examples are now being conducted with a preliminary version of the toolbox.
Please contact:
Bernard Philippe - INRIA-IRISA
Tel: +33 99 84 73 38
E-mail: philippeirisa.fr