Title: Aucun titre de diapositive
1Méthodologie de compilation d'algorithmes de
traitement du signal pour les processeurs en
virgule fixe sous contrainte de précision
D. MENARD, O. SENTIEYS Action INRIA R2D2 ENSSAT
- Université de Rennes1
2Cycle de développement
Besoin
3Plan
- I. État de lart, objectifs et positionnement
- II. Évaluation de la précision
- III. Conversion en virgule fixe
- IV. Applications
- V. Conclusions et perspectives
4Codage des données
- Spécification dune donnée en virgule fixe
- Objectifs et contraintes du codage en virgule
fixe - Maintenir la fonctionnalité de lalgorithme
- Respecter les règles de larithmétique virgule
fixe - Garantir labsence de débordement
- Satisfaire la contrainte de précision
- Optimiser limplantation de lalgorithme dans le
DSP - Minimiser le temps dexécution, la taille du
code
5État de lart des méthodologies (2)
- Méthodes FRIDGE et Autoscaler for C
- Transformation dun code C virgule flottante en
un code C-ANSI virgule fixe - Limites de ces méthodes
- Le langage C nest pas un support adapté pour la
spécification de données en virgule fixe. - Le format des données nest pas optimisé sous une
contrainte de précision globale - Larchitecture du processeur cible nest pas
prise en compte pour le codage des données en
virgule fixe - Pour la minimisation du temps dexécution du
code, le coût dune opération de recadrage est
défini a priori (Autoscaler for C)
6Objectifs des travaux de recherche
- Développement dune méthodologie de compilation
dalgorithmes spécifiés en virgule flottante pour
les processeurs programmables en virgule fixe
sous contrainte de précision globale - Évaluation analytique de la précision du système
(RSBQ) - Obtention dune spécification en virgule fixe
optimisée - Prise en compte de larchitecture du processeur
cible - Couplage des processus de génération de code et
de conversion en virgule fixe - Optimisation de limplantation sous contrainte de
précision - Minimisation du temps dexécution du code généré
- Choix du type des données
- Placement des opérations de recadrage
7Évaluation de la précision, état de lart
- Métrique dévaluation de la précision
- Rapport Signal à Bruit de Quantification
- Méthodes basées sur la simulation Cos98, Ked01,
Kim98 - Simulation de lapplication en virgule fixe et en
virgule flottante - Temps doptimisation du format des données très
élevé Sun95 - Méthode analytique
- Détermination de lexpression analytique du RSBQ
- Propagation des moments du bruit au sein dun
GFD Tou99, Mar01 - Développement dune nouvelle méthode analytique
- Estimation précise de la puissance du bruit de
quantification - Traitement des structures linéaires récursives
8Modélisation du bruit
- Modèle du bruit généré
- Modèle du bruit issu de la quantification de y
Wid56, Sri77 - Bruit additif, blanc, non corrélé avec y et les
autres bruits - Moments (troncature)
- Modèle prenant en compte le nombre de bits
éliminés k Con99 - Modèle proposé pour la multiplication par une
constante C (y?C) - Modèle du bruit propagé Ked98b, Tou99
LSB
MSB
x
x
x
x
x
x
1
0
0
0
Constante C
l
Addition
Multiplication
9Modélisation dun système linéaire
- Expression de la sortie y
- Expression du bruit de quantification
Bruit de quantification de sortie
Signal dentrée
- Généralisation de la modélisation
- proposée par Liu Liu71
Signal de sortie
10Synoptique de la méthodologie
Gapp
GFDC
- Génération du Graphe Flot de Signal
- Élimination des structures de contrôle
- Insertion des informations temporelles
(opérations de retard)
Génération du GFS
Gs
GFS
- Modélisation du système au niveau bruit
- Insertion des sources derreur
- Modélisation des données et des opérateurs au
niveau bruit
Modélisation au niveau bruit
Gsn
Détermination des fonctions de transfert
GH
Détermination de lexpression du RSBQ
Men02a
11Détermination des fonctions de transfert (1)
- 1. Démantèlement des circuits
- Objectif transformation du Graphe Flot de
Signal en graphes acycliques (DAG) - 2. Détermination des fonctions linéaires
- Objectif spécification du système par un
ensemble de fonctions linéaires - 3. Détermination des fonctions de transfert
partielles - Objectif spécification du système par un
ensemble de fonctions de transfert partielles - 4. Détermination des fonctions de transfert
globales - Objectif détermination des fonctions de
transfert entre la sortie et chaque entrée
12Expérimentations
- Qualité de lestimation
- Erreur Er relative entre lestimation et la
simulation en virgule fixe - Er ? 2 à 8 ? estimation précise
- Intérêt du modèle de bruit proposé (y?C) pour
réduire Er - Efficacité de loutil
- Temps dexécution de loutil
- Structures non-récursives ex FIR 128 ? 6.4 s
- Structures récursives ex IIR 4 ? 6.3 s
- La majorité du temps est consacrée Ã
lénumération des circuits (complexité
polynomiale) - Comparaison avec les méthodes basées sur la
simulation - Temps dobtention de lexpression du RSBQ
- Temps dune simulation en virgule fixe
- Réduction significative du temps doptimisation
du format des données
même ordre de grandeur
13Synoptique de la méthodologie
Code source C
Partie haute SUIF
RI SUIF-CALIFE
GFDC
Infrastructure de compilation
Infrastructure de génération de code CALIFE
Code assembleur
Men02c, Men02e
14Synoptique de la méthodologie
Code source C
Partie haute SUIF
Détermination dynamique
Évaluation de la précision
RI SUIF-CALIFE
Détermination position virgule
GFDC
Infrastructure de compilation
RSBQ(b,m)
Infrastructure de génération de code CALIFE
Détermination des types
RSBQmin
Optimisation des formats
Modélisation du processeur
Description ARMOR du DSP
Code assembleur
ArmorC
15Détermination de la dynamique
- Détermination du domaine de définition des
données - Deux types dapproche
- Méthode statistique estimation de la dynamique
à partir des paramètres statistiques des données
obtenus par simulation Kim98 - Estimation précise mais ne garantissant pas
labsence de débordement - Méthode analytique détermination de
lexpression analytique de la dynamique - Systèmes non-récursifs arithmétique
dintervalle Cac02, Ked98a - Systèmes linéaires normes L1 ou Chebychev
Par87 - Estimation conservatrice garantissant labsence
de débordement
Détermination de la dynamique
CDFG
GFDC Di (Dynamique)
Dentrées Dynamique entrées
16Détermination de la position de la virgule
- Objectifs
- Détermination de la position de la virgule (mi)
- Insertion des opérations de recadrage
- Technique
- Propagation de la virgule par parcours des
graphes flots de données (GFD) - Nécessité déliminer les circuits présents au
sein des GFD - Définition de règles pour les données et les
opérations
Détermination de la position de la virgule
GFDC Di (Dynamique)
GFDC mi (Position de la virgule)
Modèle du processeur
- Prise en compte de la présence éventuelle de
bits de garde au sein de larchitecture
17Détermination du type des données (1)
Détermination dynamique
GFDC mi (Position de la virgule)
- Détermination de la largeur des données
- Prise en compte des différents types manipulés
par le DSP - Instructions classiques
- Instructions double précision
- Instructions SWP
- Sélection de la suite dinstructions permettant
de - Minimiser le temps dexécution global
- Satisfaire la contrainte de précision (RSBQmin)
Détermination des types
GFDC (bi ,mi ,ni) (Format des données)
Détermination position virgule
RSBQmin
Modèle du processeur
Détermination type des données
Optimisation format des données
18Optimisation du format des données
Détermination dynamique
GFDC (bi ,mi ,ni) (Format des données)
Optimisation des formats
- Détermination de la position optimale des
opérations de recadrage - Déplacement des opérations de recadrage pour
réduire le temps dexécution du code - Minimisation du temps dexécution tant que la
contrainte de précision est respectée - Deux types dapproche
- DSP sans parallélisme au niveau instruction (ILP)
- Optimisation avant le processus de génération de
code - DSP avec parallélisme au niveau instruction
- Optimisation en parallèle à la phase
dordonnancement - Estimation du coût probable des opérations de
recadrage
GFDC (bi ,mi ,ni) (Formats optimisés)
Détermination position virgule
RSBQmin
Modèle du processeur
Détermination type des données
Optimisation format des données
19Démarche de conversion
Application
Men03a
Taux derreur binaire maximal
Détermination RSBQmin
RSBQmin
Code source
Taux derreur binaire mesuré
Simulation virgule fixe
Spécification virgule fixe
Code cible
20Rake Receiver terminal mobile
- Complexité dun Rake Receiver
- 800 MOPS
- Contrainte de qualité
- T.E.B.Virgule Fixe 1/10 T.E.B. ? RSBQmin
12.5 dB - Implantation de la partie décodage des données
- DSP VLIW (C64x)
- Architecture reconfigurable DART
- Déplacement des opérations de recadrage vers les
coefficients - Optimisation de la largeur des données
- Rake receiver composé de 6 fingers
- Texec temps de traitement d un symbole
(SF256)
./ 2.64
./ 1.94
21Évaluation de la précision
- Développement dune nouvelle méthode analytique
- Traitement des structures linéaires et des
structures non-linéaires et non-récursives - Comparaison par rapport aux méthodes existantes
- Méthode analytique basée sur la propagation des
moments Tou99 - Traitement des structures linéaires
récursives - Estimation précise du RSBQ (systèmes
non-linéaires non-récursifs) - Méthodes basées sur la simulation
- Réduction importante du temps doptimisation
des formats - Les structures non-linéaires et récursives ne
peuvent être traitées - Perspectives
- Extension de la classe dalgorithmes traités
- Filtres adaptatifs (stage de DEA 2003)
22Conversion en virgule fixe
- Développement dune méthodologie de conversion
automatique en virgule fixe - Réduction du temps de développement des
applications - Comparaison par rapport aux méthodes existantes
- Méthodologie liée à linfrastructure de
compilation - Optimisation de limplantation sous contrainte
de précision globale - Prise en compte de larchitecture pour le
codage des données - Présence de bits de garde
- Types de données supportés
- Optimisation du placement des opérations de
recadrage - Estimation du coût réel des opérations de
recadrage - Nécessité de couplage avec la génération de code
- Obtention de la solution optimale ?
23Conversion en virgule fixe
- Perspectives
- Poursuite du développement et interfaçage avec
CALIFE - Expérimentations sur des applications plus
complexes - Intégration de nouvelles métriques (taille du
code, énergie, puissance dissipée) - Implantation dans les architectures matérielles
(ASIC, FPGA) - Thèse Nicolas Hervé (octobre 2002)
24Bibliographie (1)
Cac02 D. Cachera, T. Risset Advaces in Bit
Width Selection Methodology. Proceedinngs of the
IEEE Internationnal Conference on
Application-Specific Systems, Architectures, and
Processirs (ASAP 02), Jul 02. Coo01 M. Coors,
H. Keding, O. Luthje and H. Meyr, Integer Code
Generation For the TI TMS320C62x, ICASSP-01, May
2001, Sate Lake City, US. Con99 G.
Constantinides, P. Cheung, W Luk, Truncation
noise in fixed-point SFG, IEE Electronics
Letters, 35(23), November 1999. Cos98 L. De
Coster, M. Ade, R. Lauwereins, J.A.
Peperstraete.Code Generation for Compiled
Bit-True Simulation of DSP Applications.
Proceedings of the 11th International Symposium
on System Synthesis (ISSS 98), Taiwan, Dec
98. Dav02 R. David, D. Chillet, S. Pillement
and O. Sentieys. Mapping Future Generation Mobile
Telecommunication Applications on a Dynamically
Reconfigurable Architecture. International
Conference on Acoustics, Speech and Signal
Processing 2002 (ICASSP 2002), Orlando, May
02. Kea96 R. Kearfott, Interval Computations
Introduction, Uses, and Resources, Euromath
Bulletin, vol 2 (1), 1996, p95-112. Ked01 H.
Keding , M. Coors, O. Luthje, H. Meyr, Fast
Bit-True Simulation, Design Automation Conference
2001, (DAC-01), Jun 01, Las Vegas,
US. Ked98a H. Keding, M. Willems, M. Coors,
and H. Meyr. FRIDGE A Fixed-Point Design And
Simulation Environment. Design, Automation and
Test in Europe 1998 (DATE-98), Mar 98. Ked98b
H. Keding and F. Hurtgen and M. Willems and M.
Coors, Transformation of Floating-Point into
Fixed-Point Algorithms by Interpolation Applying
a Statistical Approach, 9th International
Conference on Signal Processing Applications and
Technology, ICSPAT'98, 98. Kim98 S. Kim, K.
Kum, S. Wonyong. Fixed-Point Optimization Utility
for C and C Based Digital Signal Processing
Programs, IEEE Transactions on Circuits and
Systems II, 45(11), Nov 98. Kum00 K. Kum,
J.Y. Kang and W.Y. Sung, AUTOSCALER for C An
optimizing floating-point to integer C program
converter for fixed-point DSP ,IEEE Transactions
on Circuits and Systems II, pp 840-848, September
2000. Liu71 B. Liu. Effect of Finite Word
Length on the Accuracy of Digital Filters - A
Review (Invited Paper). IEEE Transaction on
Circuit Theory, 18(6), Nov 71.
25Bibliographie (2)
Mar01 E. Martin, C. Nouet, JM. Toureilles.
Conception optimisée darchitectures en précision
finie pour les applications de traitement du
signal.Traitement du Signal 2001, Vol 18 (1),
2001. Men01 D. Menard, O. Sentieys, Influence
du modèle de l'architecture des DSPs virgule fixe
sur la précision des calculs, Dix huitième
colloque GRETSI sur le traitement du signal et
des images, Toulouse, Sep 01. Men02a D.
Menard and O. Sentieys. Automatic Evaluation of
the Accuracy of Fixed-point Algorithms, IEEE/ACM
Conference on Design, Automation and Test in
Europe 2002 (DATE-02), Paris, Mar 02. Men02b
D. Menard and O. Sentieys. A methodology for
evaluating the precision of fixed-point systems.
International Conference on Acoustics, Speech and
Signal Processing 2002 (ICASSP 2002), Orlando,
May 02. Men02c D. Menard, T. Saidi, D.
Chillet, O. Sentieys. Implantation d'algorithmes
spécifiés en virgule flottante dans les DSP
virgule fixe. 8ème Symposium en Architectures
nouvelles de machines (SYMPA), Hammamet, Tunisie,
Apr 02. Men02d D. Menard, P. Quemerais, O.
Sentieys. Influence of fixed-point DSP
architecture on computation accuracy. XI European
Signal Processing Conference (EUSIPCO 2002),
Toulouse, Sep 02. Men02e D. Menard, D.
Chillet, F.Charot, O. Sentieys. Automatic
Floating-point to Fixed-point Conversion for DSP
Code Generation. ACM International Conference on
Compilers, Architectures and Synthesis for
Embedded Systems 2002 (CASES 2002), Grenoble, Oct
02. Men02f D. Menard, T. Saidi, D. Chillet,
O. Sentieys. Implantation d'algorithmes spécifiés
en virgule flottante dans les DSP virgule fixe.
Sélectionné pour numéro spécial de TSI
Architectures des systèmes embarqués.
Men03a D. Menard, M. Guitton, S. Pillement,
O. Sentieys. Design and Implementation of WCDMA
Platforms Challenges and Trade-offs. Accepted for
the International Signal Processing Conference,
Dallas, April 03. Men03b D. Menard, O.
Sentieys. Optimal Data Word-Length Selection for
DSP Code Generation. Submission to the IEEE/ACM
Design Automation Conference, Jun 03. Par87
T.W. Parks and C.S. Burrus, Digital Filter
Design, 1987, Jhon Willey and Sons Inc
26Bibliographie (3)
Sun95 W. Sung, K. Kum. Simulation-Based
Word-Length Optimization Method for Fixed-Point
Digital Signal Processing Systems. IEEE
Transactions on Signal Processing, 43(12), Dec.
1995. Tou99 J. Toureilles. Conception
d'architectures pour le traitement du signal en
précision finie. PhD thesis, Université de Rennes
I, Jan 99. Wil97 M. Willems and V. Bursgens
and H. Meyr, FRIDGE Floating-Point Programming
of Fixed-Point Digital Signal Processors
Internartionnal Conférence On Signal Processing
Applications and Technology, (ICSPAT'97), 1997.