Most numerical simulations are performed in double precision
(IEEE754 binary64). Unfortunately this can be costly in
terms of computing time, memory transfer and energy consumption.
PROMISE is a tool to auto-tune the precision of floating-point variables
From an initial C or C++ program and a required accuracy on the
computed results, PROMISE automatically modifies the floating-point types
and maximizes the number of single precision variables.
To estimate the numerical quality of results, PROMISE
which controls round-off errors in simulation programs.
PROMISE has been successfully
tested on programs implementing several numerical algorithms including
linear system solving and also on an industrial code that solves the
neutron transport equations.
Source code, documentation and example programs can be downloaded here (version Feb. 2019).
A version of PROMISE can provide codes mixing single, double and quadruple precision.
Please contact the
CADNA team for more information.
Results of PROMISE are shown in a simple numerical example.
If you have any feedback, bug reports or comments, please send
an email to the
S. Graillat, F. Jézéquel, R. Picot, F. Févotte, B. Lathuilière. Auto-tuning for floating-point precision with Discrete Stochastic Arithmetic. 2016. HAL ID:hal-01331917 (pdf)