Location of Repository

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

By Nicolas Louvet

Abstract

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èmesliné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

Topics: Efficient algorithms, Computer arithmetic, IEEE-754 standard, Numerical algorithms, Compensated algorithms, Algorithmes numériques, Standard IEEE-754, Arithmétique des ordinateurs, Algorithmes compensés, Algorithmes efficaces, [ INFO.INFO-AO ] Computer Science [cs]/Computer Arithmetic
Publisher: HAL CCSD
Year: 2007
OAI identifier: oai:HAL:tel-01315543v1
Provided by: Thèses en Ligne

Suggested articles

Preview


To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.