Automatic source-to-source error compensation of floating-point programs: code synthesis to optimize accuracy and time

Laurent Thévenoux 1, 2 Philippe Langlois 3 Matthieu Martel 3
1 ARIC - Arithmetic and Computing
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
3 DALI - Digits, Architectures et Logiciels Informatiques
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier, UPVD - Université de Perpignan Via Domitia
Abstract : Numerical programs with IEEE 754 floating-point computations may suffer from inaccuracies, since finite precision arithmetic is an approximation of real arithmetic. Solutions that reduce the loss of accuracy are available, such as, compensated algorithms or double-double precision floating-point arithmetic. Our goal is to automatically improve the numerical quality of a numerical program with the smallest impact on its performance. We define and implement source code transformations in order to derive automatically compensated programs. We present several experimental results to compare the transformed programs and existing solutions. The transformed programs are as accurate and efficient as the implementations of compensated algorithms when the latter exist. Furthermore, we propose some transformation strategies allowing us to improve partially the accuracy of programs and to tune the impact on execution time. Trade-offs between accuracy and performance are assured by code synthesis. Experimental results show that user-defined trade-offs are achievable in a reasonable amount of time, with the help of the tools we present in the paper.
Type de document :
Article dans une revue
Concurrency and Computation: Practice and Experience, Wiley, 2017, Concurrency and Computation: Practice and Experience, 29 (7), pp.e3953. <10.1002/cpe.3953>
Liste complète des métadonnées


https://hal.archives-ouvertes.fr/hal-01236919
Contributeur : Laurent Thévenoux <>
Soumis le : lundi 10 avril 2017 - 08:37:50
Dernière modification le : jeudi 15 juin 2017 - 09:09:33
Document(s) archivé(s) le : mardi 11 juillet 2017 - 12:17:26

Fichier

tlm.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Collections

Citation

Laurent Thévenoux, Philippe Langlois, Matthieu Martel. Automatic source-to-source error compensation of floating-point programs: code synthesis to optimize accuracy and time. Concurrency and Computation: Practice and Experience, Wiley, 2017, Concurrency and Computation: Practice and Experience, 29 (7), pp.e3953. <10.1002/cpe.3953>. <hal-01236919v2>

Partager

Métriques

Consultations de
la notice

109

Téléchargements du document

106