Fonctions élémentaires en virgule flottante pour les accélérateurs reconfigurables
Les circuits reconfigurables FPGA ont désormais une capacité telle qu'ils peuvent être utilisés à des tâches d'accélération de calcul en virgule flottante. La littérature (et depuis peu les constructeurs) propose des opérateurs pour les quatre opérations. L'étape suivante est de proposer des opérateurs pour les fonctions élémentaires les plus utilisées. Parmi cellesci, nous proposons des architectures dédiées pour l'évaluation des fonctions exponentielles, logarithme, sinus et cosinus, et étudions les compromis possibles. Pour chacune de ces fonctions, un seul de ces opérateurs surpasse d'un facteur dix les processeurs généralistes en termes de débit, tout en occupant une fraction des ressources matérielles du FPGA. Tous ces opérateurs sont disponibles librement sur http://www.ens-lyon.fr/LIP/Arenaire/.
The capacity of reconfigurable circuits nowadays allows them to tackle floatingpoint acceleration tasks. Operators for the basic operations have been described in the literature and are now available from FPGA vendors. The next step is to provide operators for the main elementary functions. This article presents operator architectures for exponential, logarithm, sine and cosine, and studies the tradeoffs involved. For each of these functions, one of these operators has ten times the throughput of a general-purpose processor, while consuming a small fraction of the FPGA resources. These operators are freely available at http://www.ens-lyon.fr/LIP/Arenaire/.
J.DETREY, F.DINECHIN
Reçu le 7 mars 2007.
Accepté le 21 juin 2007.
virgule flottante, sinus, cosinus, exponentielle, logarithme, opérateurs matériels, FPGA, VHDL.
floating point, sine, cosine, exponential, logarithm, hardware operators, FPGA, VHDL.
Français
|