Conception et implantation d'algorithmes efficaces pour la résolution du dilemme du fabricant de tables sur architecture parallèles
Institution:
Paris 6Disciplines:
Directors:
Abstract EN:
Depuis sa normalisation en 1985, l'arithmétique flottante permet d'approcher lescalculs en nombres réels de manière portable et prévisible. Cette deuxièmepropriété est due à une exigence forte sur les opérateurs dont l'implantationest exigée par la norme : leur résultat doit être correctement arrondi. Bien quela norme IEEE 754, dans sa dernière révision de 2008, exige l'implantation desopérations de base, elle ne fait que recommander l'implantation des fonctionsmathématiques élémentaires. Ceci est principalement dû à un problèmecalculatoire difficile nommé le dilemme du fabricant de tables. Dans cette thèse, nous fournissons des algorithmes ainsi que leurs déploiementssur architectures massivement parallèles, notamment les GPU (GraphicsProcessing Units), résolvant ce dilemme pour certains formats de nombresflottants en pratique. Ces déploiements permettent une accélération desperformances d'un facteur supérieur à 50 sur GPU par rapport à une exécutionséquentielle sur CPU. Le principal outil algorithmique que nous utilisons sontles systèmes de numération à base de développements en fraction continue. Cesderniers permettent alors de détecter les cas difficiles pour l'arrondi correctvia de l'arithmétique sur les nombres réels modulo 1. Nous généralisons ensuite l'utilisation de ces systèmes de numération àl'arithmétique modulaire en nombres entiers. Cela permet alors d'obtenir desalgorithmes de multiplication et division modulaires ne reposant que surl'utilisation de l'algorithme d'Euclide pour le calcul de PGCD.
Abstract FR:
Since its standardization in 1985, floating-point arithmetic is commonly used toapproximate computations over the real numbers in a portable and predictableway. This predictability of the result is enabled thanks to a strong requirementon the functions specified by the IEEE Std 754: they must return a correctlyrounded result. Even though the implementation of basic operations is mademandatory, that of elementary functions is only recommended. This is mainly dueto a computationally hard to solve problem called the table maker'sdilemma (TMD). In this thesis, we provides algorithms along with their deployment on massivelyparallel architectures, in particular GPUs (Graphics Processing Units),to solve this problem in practice for some elementary functions andfloating-point formats. These deployments enable a speedup by a factor greaterthan 50 on GPU compared to a sequential execution on CPU. The main algorithmictool we use are the number systems based on continued fraction developments. Thelatter allows to efficiently perform arithmetic over the real numbers modulo 1,and to find the hard cases for correct rounding. We then generalize the use of these number systems to modular arithmetic overinteger numbers. This provide a framework to build algorithms for modularmultiplication and modular division, based only on the classical Euclideanalgorithm.