High-performance floating-point computing on reconfigurable circuits

Bogdan Mihai Pasca 1, 2
2 ARENAIRE - Computer arithmetic
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
Résumé : De plus en plus de constructeurs proposent des accélérateurs de calculs à base de circuits reconfigurables FPGA, cette technologie présentant bien plus de souplesse que le microprocesseur. Valoriser cette flexibilité dans le domaine de l'accélération de calcul flottant en utilisant les langages de description de circuits classiques (VHDL ou Verilog) reste toutefois très difficile, voire impossible parfois. Cette thèse a contribué au développement du logiciel FloPoCo, qui offre aux utilisateurs familiers avec VHDL un cadre C++ de description d'opérateurs arithmétiques génériques adapté au calcul reconfigurable. Ce cadre distingue explicitement la fonctionnalité combinatoire d'un opérateur, et la problématique de son pipeline pour une précision, une fréquence et un FPGA cible donnés. Afin de pouvoir utiliser FloPoCo pour concevoir des opérateurs haute performance en virgule flottante, il a fallu d'abord concevoir des blocs de bases optimisés. Nous avons d'abord développé des additionneurs pipelinés autour des lignes de propagation de retenue rapides, puis, à l'aide de techniques de pavages, nous avons conçu de gros multiplieurs, possiblement tronqués, utilisant des petits multiplieurs. L'évaluation de fonctions élémentaires en flottant implique souvent l'évaluation en virgule fixe d'une fonction. Nous présentons un opérateur générique de FloPoCo qui prend en entrée l'expression de la fonction à évaluer, avec ses précisions d'entrée et de sortie, et construit un évaluateur polynomial optimisé de cette fonction. Ce bloc de base a permis de développer des opérateurs en virgule flottante pour la racine carrée et l'exponentielle qui améliorent considérablement l'état de l'art. Nous avons aussi travaillé sur des techniques de compilation avancée pour adapter l'exécution d'un code C aux pipelines flexibles de nos opérateurs. FloPoCo a pu ainsi être utilisé pour implanter sur FPGA des applications complètes.
Type de document :
Thèse
Other [cs.OH]. Ecole normale supérieure de lyon - ENS LYON, 2011. English. < NNT : 2011ENSL0656 >
Liste complète des métadonnées


https://tel.archives-ouvertes.fr/tel-00654121
Contributeur : Abes Star <>
Soumis le : jeudi 26 avril 2012 - 18:22:31
Dernière modification le : vendredi 16 juin 2017 - 11:20:13
Document(s) archivé(s) le : jeudi 15 décembre 2016 - 03:18:38

Fichier

PASCA_Bogdan_2011_-_These.pdf
Version validée par le jury (STAR)

Identifiants

  • HAL Id : tel-00654121, version 2

Collections

Citation

Bogdan Mihai Pasca. High-performance floating-point computing on reconfigurable circuits. Other [cs.OH]. Ecole normale supérieure de lyon - ENS LYON, 2011. English. < NNT : 2011ENSL0656 >. <tel-00654121v2>

Partager

Métriques

Consultations de
la notice

1355

Téléchargements du document

1134