Logo image
Contribution to the automated generation of programs in computer arithmetic
Thèses et HDR

Contribution to the automated generation of programs in computer arithmetic

Guillaume Revy
Habilitation à diriger des recherches, Université de Montpellier
18/07/2023

Résumé

mixed-precision floating-point arithmetic fixed-point arithmetic code generation and certification elementary functions polynomial evaluation matrix multiplication and inversion data format adaptation SIMD LLVM précision mixte LLVM SIMD adaptation des formats de données multiplication et inversion de matrices évaluation polynomiale fonctions élémentaires génération et certification de codes arithmétique virgule fixe arithmétique virgule flottante
This HDR thesis presents our contributions on the automated generation of programs in computer arithmetic.These results have been obtained from 2010 to 2023 within the DALI team from UPVD and LIRMM.After a brief state of the art on computer arithmetic, we are interested, in a first part, in the implementationof elementary functions in floating-point arithmetic. These implementations are generally based on the use oflookup tables and polynomial approximants. We illustrate how to build tables of exact values in the case oftrigonometric functions, and we propose a uniform approach based on polynomial evaluation for the correctlyrounded implementation of logb(x) functions.In a second part, we are interested in the implementation of basic blocks of linear algebra in fixed-pointarithmetic. We propose a rigorous arithmetic model for the four basic operations, as well as for the division andthe square root, that are two operations ill-defined in fixed-point arithmetic. We then use this model for thegeneration of codes for matrix multiplication and inversion.A lot of our works rely on polynomial evaluation. In a third part, we are interested in the performance and theaccuracy of this basic block. These directly depend on the evaluation scheme used. For fixed-point arithmetic,we present a method based on instruction selection for the implementation of schemes optimized for a specificarchitecture described in an XML file. For floating-point arithmetic, we propose a method to choose the format ofeach data of a scheme in order to guarantee a certain output accuracy. Finally, we study the performance of theseschemes on AVX2 architectures.In a fourth part, we are interested in tools that allow to automatically adapt the format of certain data of afloating-point program, in order to improve its performance while not sacrifying the accuracy of its results. Wepropose a first method to reduce the format of floating-point instructions that can benefit from SIMD instructions.We then propose an infrastructure allowing to analyze the impact on the accuracy of the results of the modificationof data formats in iterative routines.In a last part, we develop two research directions, on the development of new floating-point operators, and thatof new adaptation tools that will be more robust to input data and that will make it possible to process largerprograms.

Fichiers et liens (1)

url
Find in HALAfficher

Indicateurs

1 Consultations de la notice

Détails

Logo image