PROMISE: floating-point precision tuning with stochastic arithmetic - Archive ouverte HAL
Communication Dans Un Congrès Année : 2016

PROMISE: floating-point precision tuning with stochastic arithmetic

Résumé

Nowadays, most floating-point computations in numerical simulations are performed in IEEE 754 binary64 precision (double precision). This means that a relative accuracy of about 10−16 is provided for every arithmetic operation. Indeed, in practice, programmers tend to use the highest precision available in hardware which is the double precision on current processors. This approach can be costly in terms of computing time, memory transfer and energy consumption [1]. A better strategy would be to use no more precision than needed to get the desired accuracy on the computed result. The challenge of using mixed precision is to find some parts of codes (and so variables) that may be executed with lower precision. Unfortunately the amount of possible configurations is exponential in the number of variables. To overcome this difficulty, we propose an algorithm and a tool called PROMISE (PRecision OptiMISEd) based on the delta debugging search algorithm [2] that provide a mixed precision configuration with a worst-case complexity quadratic in the number of variables. From an initial C or C++ program and a required accuracy on the computed result, PROMISE automatically modifies the precision of variables. To estimate the numerical quality of results, PROMISE uses Discrete Stochastic Arithmetic (DSA) [3] which controls round-off errors in simulation programs. Unlike Precimonious [4], PROMISE does not focus on performance constraints, it can rather be seen as a tool helping developers to reduce the cost of double precision variables and improve the memory usage of their code. The PROMISE tool 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 [5].
Fichier non déposé

Dates et versions

hal-01355005 , version 1 (22-08-2016)

Identifiants

  • HAL Id : hal-01355005 , version 1

Citer

Stef Graillat, Fabienne Jézéquel, Romain Picot, François Févotte, Bruno Lathuilière. PROMISE: floating-point precision tuning with stochastic arithmetic. 17th international symposium on Scientific Computing, Computer Arithmetic and Verified Numerics (SCAN 2016), Sep 2016, UPPSALA, Sweden. pp.98-99. ⟨hal-01355005⟩
302 Consultations
0 Téléchargements

Partager

More