Algorithmes compensés en arithmétique flottante : précision, validation, performances - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2007

Compensated algorithms in floating point arithmetic : accuracy, validation, performances

Algorithmes compensés en arithmétique flottante : précision, validation, performances

Nicolas Louvet

Résumé

Rounding error may totally corrupt the result of a floating point computation. How to improve and validate the accuracy of a floating point computation, without large computing time overheads ? We consider two case studies: polynomial evaluation and linear triangular system solving. In both cases we use compensation of the rounding errors to improve the accuracy of the computed result. The contributions of this work are divided into three levels. 1) Improving the accuracy. We propose a compensated Horner scheme that computes polynomial evaluation with the same accuracy as the classic Horner algorithm performed in twice the working precision. Generalizing this algorithm, we present another compensated version of the Horner scheme simulating K times the working precision (K>1). We also show how to compensate the rounding errors generated by the substitution algorithm for triangular system solving. 2) Validating the computed result. We show how to validate the quality of the compensated polynomial evaluation. We propose a method to compute an "a posteriori" error bound together with the compensated result. This error bound is computed using only basic floating point operations, which ensures portability and efficiency of the method. 3) Performances of compensated algorithms. Our computing time measures show the interest of compensated algorithms compared to other software solutions that provide the same output accuracy. We also justify good practical performances of compensated algorithms thanks to a detailed study of the instruction-level parallelism they contain.
Les erreurs d'arrondi peuvent dégrader la précision d'un calcul en arithmétique flottante. Comment améliorer et valider la précision d'un résultat calculé, tout en conservant de bonnes performances pratiques ? Nous utilisons la compensation des erreurs d'arrondi au travers de deux exemples : l'évaluation polynomiale et la résolution de systèmes linéaires triangulaires. Nos contributions se situent à trois niveaux. 1) Amélioration de la précision du résultat. Nous proposons un schéma de Horner compensé, qui permet une évaluation polynomiale aussi précise que celle calculée par le schéma de Horner classique exécuté avec une précision interne doublée. En généralisant cet algorithme, nous proposons une autre version compensée du schéma de Horner simulant K fois la précision de travail (K>1). Nous montrons également comment compenser les erreurs d'arrondis générées par l'algorithme de substitution pour la résolution de systèmes triangulaires. 2) Validation de la qualité du résultat. Nous montrons comment valider la qualité du résultat de l'évaluation polynomiale compensée, en proposant le calcul d'une borne d'erreur "a posteriori" qui ne repose que sur des opérations élémentaires de l'arithmétique flottante: cela assure la portabilité de la validation et de bonnes performances pratiques. 3) Performances des algorithmes compensés. Nos mesures de performances montrent l'intérêt pratique des algorithmes compensés face aux autres solutions logicielles simulant une précision équivalente. Nous justifions ces bonnes performances par une étude détaillée du parallélisme d'instructions qu'ils présentent.
Fichier principal
Vignette du fichier
TheseLouvet07.pdf (2.42 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-01315543 , version 1 (13-05-2016)

Identifiants

  • HAL Id : tel-01315543 , version 1

Citer

Nicolas Louvet. Algorithmes compensés en arithmétique flottante : précision, validation, performances. Arithmétique des ordinateurs. Université de Perpignan Via Domitia, 2007. Français. ⟨NNT : ⟩. ⟨tel-01315543⟩

Collections

UNIV-PERP
220 Consultations
651 Téléchargements

Partager

Gmail Facebook X LinkedIn More