Implantation d'algorithmes spécifiés en virgule flottante dans les processeurs programmables virgule fixe Daniel MENARD Groupe Signal/Architecture LASTI.

Slides:



Advertisements
Présentations similaires
1 Etude Statique sur l’axe horizontal du berce BB.
Advertisements

Evaluation de requêtes Quelques résultats préliminaires 1 Amin Mesmoudi.
CHAftITREI ARCHITECTURE de BASE. Modèle de Von Neumann Langage d’assemblage1 John Von Neumann est à l'origine d'un modèle de machine universelle de traitement.
Page de garde Validation d ’APEF.
Introduction à la notion de fonction 1. Organisation et gestion de données, fonctions 1.1. Notion de fonction ● Déterminer l'image d'un nombre par une.
Que faire? La recherche découverte. Dans une recherche découverte Sensibilisation ; Discussion ; Préparation-projet ; Opération-activités ; Réflexion.
Université de Monastir Faculté des sciences de Monastir Réalisé par : Salim HENI Rehaussement d’images avec préservation de contours sur GPGPU Soutenance.
DIAGRAMME DE DEPLOIEMENT Exposé de: MBALLA MEKONGO Michèle MBOUNA FEUZE William SIEYADJEU Alex Lionel CHOPGWE Leonard NDUMATE Landry TIDJON Lionel.
LES DÉFINITIONS La norme La réglementation REGLEMENTATION ET NORME.
La technologie des mémoires
JAVA.
Anti-Patterns pour la modélisation des processus de développement
Outils de Recherche Opérationnelle en Génie MTH 8414
Intégration énergétique à l’ échelle de grands sites: Nouveaux Modules pour CERES Alaa FARHAT
Formation SIMULINK.
Présenté par: Salhi Amina
Modélisation mathématique des systèmes asservis
Le Cycle de vie d’un logiciel
Arithmétique entière en VHDL
ICMS’2014 Modélisation de la machine asynchrone double étoile
Les Bases de données Définition Architecture d’un SGBD
Algorithmique demander jeu du pendu.
MOT Éditeur de modèles de connaissances par objets typés
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
L'évaluation : FCA / 2016 Vestalys.
Représentation de l'information en binaire:
Analyse temporelle des systèmes asservis
Soutenance de Mémoire de Master En vue de l’obtention du diplôme de master En Physique des fluides et des transferts THEME Etude des champs dynamique.
Plan du cours Introduction : création de circuits
Architecture de machines Le microprocesseur
Plan de la séance 2.
Activités algorithmiques
Fonctions logiques et algèbre booléenne
Plans d’expériences: Plans factoriels
Les Plans d’expériences: Plans Factoriels
Plans d’expériences: Plans factoriels.
Codification et Représentation de l’information
Offres Viveris Systèmes
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Instructions et micro-instructions
Démarche de conception. Démarche didactique.
Notion De Gestion De Bases De Données
Institut Universitaire Virtuel de Formation des Maîtres
Formation au Numérique Codage et programmation dans les nouveaux programmes Romorantin, le 23 janvier 2018.
Une nécessaire coordination entre la technologie et les mathématiques
Programme financé par l’Union européenne
B.Shishedjiev - Informatique
Introduction aux microprocesseurs
Épreuve écrite E4.1 BTS CG Session /02/2017.
Réunion AquiFR Rappel Réunion de Lancement Février 2014
De Scratch à Python : une transition douce… COMMUNICATION
Présentation 4 : Sondage stratifié
Présentation 9 : Calcul de précision des estimateurs complexes
Un Mécanisme d‘Adaptation Guidé par le Contexte en Utilisant une Représentation par Objets Manuele Kirsch Pinheiro Laboratoire LSR – IMAG, Équipe SIGMA.
Le programme informatique L’algorithme Le codage
Les Unités de soins de longue durée (USLD) 7 novembre 2018
et de la Recherche Scientifique
ENSEIGNER L’ALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Points de vue et sémantiques ad hoc
Calcul de précision dans le cas d’échantillons rotatifs: le cas des statistiques EU-SILC au Luxembourg 10e COLLOQUE FRANCOPHONE SUR LES SONDAGES, Lyon,
Laboratoire Quartz & Laboratoire de Mécanique, Modélisation et Productique Proposition d’un outil d’aide à la décision pour la (re-)conception des ateliers.
LES NOUVEAUX PROGRAMMES DE MATHÉMATIQUES
Estimation des conditions initiales par inversion
Modélisation des SI et de la connaissance
I. Aouichak, I. Elfeki, Y. Raingeaud, J.-C. Le Bunetel
National Instruments Leadership Seminar
MOT Éditeur de modèles de connaissances par objets typés
spécialité mathématiques Première
Transcription de la présentation:

Implantation d'algorithmes spécifiés en virgule flottante dans les processeurs programmables virgule fixe Daniel MENARD Groupe Signal/Architecture LASTI Juin 2001 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Daniel MENARD - LASTI - ENSSAT Plan 1. Présentation du problème Problématique Méthodes existantes - Nos objectifs 2. Architecture des PTS et génération de code Architecture des PTS et influence sur la précision Génération de code et influence sur le codage des données et la précision 3. Notre approche Vue générale Outil de détermination du RSBQ 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Présentation du problème PARTIE 1 Présentation du problème 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Du besoin … au produit Passage en virgule Fixe Besoin Critères de qualité: RSB... Spécifications Conception de l'algorithme TNS Simulation virgule flottante Partitionnement Passage en virgule Fixe Simulation Temps d’exécution Prix - Consommation « Time to Market » Flexibilité Partitionnement Implantation Matérielle Implantation Logicielle 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Codage en virgule fixe Codage des données en virgule fixe : Objectifs du codage : Respecter l’intégrité de l’algorithme en garantissant l’absence de débordement : Maximiser la précision (Rapport Signal à Bruit de Quantification : RSBQ) S bm-1 bm-1 b1 b0 b-1 b-2 b-n+2 b-n+1 b-n b = m+ n+ 1 bits format: (b,m,n) Partie entière : m bits Partie fractionnaire : n bits 16/02/2019 Daniel MENARD - LASTI - ENSSAT

   Problématique Méthodologie Algorithme virgule flottante Précision Algorithme virgule flottante Architecture virgule fixe Méthodologie Intégrité de l’algorithme   Conception logicielle (DSP)  Optimiser le « mapping » de l’algorithme sur une architecture figée  Conception matérielle (ASIC-FPGA)  Optimiser la largeur des données Minimiser la surface du circuit Maximiser la précision Minimiser le temps d’exécution et la taille du code 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Les différentes phases Détermination du domaine de définition méthode analytique : garantie l’absence de débordements - estimation conservatrice méthode statistique : estimation plus précise mais dépendante du signal d’entrée Codage et Optimisation des données Calcul du RSBQ: simulation en virgule fixe détermination de l’expression analytique du bruit 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Méthodes existantes - Nos objectifs FRIDGE / CoCentric Fixed Point Designer (Synopsys) Autoscaler for C (Université de SEOUL) : Transformation du code C-ANSI virgule flottante en un code C-ANSI virgule fixe Nos objectifs : Implantation d’algorithmes spécifiés en virgule flottante au sein de processeurs programmables virgule fixe sous contrainte de RSBQ prise en compte de l’architecture du processeur pour optimiser le codage des données optimisation du temps d’exécution du code (minimisation des recadrages) sous contrainte du RSBQ minimal 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Architecture des PTS et génération de code PARTIE 2 Architecture des PTS et génération de code 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Architecture des PTS (1) Largeur naturelle du processeur (bnat) DSP: largeur fixe : 16 ou 24 bits possibilité de coder les données en double précision : be = 2.bnat Cœur de DSP et ASIP : paramétrable CD2450 (Clakspur) : 16 à 24 bits; EPICS (philips) : 12, 16, 18, 20, 24 bits; PalmCore (VLSI / DSP Group): 16, 20, 24 bits Largeur des données au sein de l’unité de traitement : double précision bits de garde au niveau de l’accumulateur précision réduite: multiplieur réduit (bmult < 2.bnat) : Z893xx (Zilog): bmult = 24 bits be Unité de traitement. bs 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Architecture des PTS (2) instructions SIMD simple précision TigerSharc (A.D.) : traitement de données sur 8, 16, 32 ou 64 bits C64x (T.I.) : traitement de données sur 8, 16, 32, 40 ou 48 bits Capacités de recadrage registres à décalage en sortie du multiplieur décalages spécialisés (C50 : -6, 0, 1, 4) registre à décalage en barillet Loi de quantification : troncature arrondi conventionnel (C54x) arrondi convergent (DSP56000, ADSP21xx) 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Expérimentations filtre FIR et IIR Mesure du RSBQ pour différents processeurs C64x C64x (d) 1 Processeur (Nb bits en entrée du multiplieur, Nb bits en sortie du multiplieur, Nb bits en sortie de l ’additionneur, d: recadrage en sortie du multiplieur) 2 BG: présence de bits de garde 3 Processeur(Sx) instruction SIMD composée de x opérations en parallèle C54x (16,32,40) 1 C50x (16,32,32,d) DSP16x(16,32,36,d) TigerSharc(S2): (16,32,32) TigerSharc(S2-d): (16,32,32,d) TigerSharc(S4): (16,16,16) TigerSharc(S4-d): (16,16,16,d) C64x: (16,32,32) C64x (BG)2: (16,32,40) C64x (d) : (16,32,32,d) C64x(S2)3: (16,16,16) C64x(S2d): (16,16,16,d) 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Daniel MENARD - LASTI - ENSSAT Génération de code Partie frontale : transformation du code source en une représentation intermédiaire Partie finale : génération d’un code cible à partir de la représentation intermédiaire : Sélection d’instructions Allocation et assignation de registres Ordonnancement Optimisations dépendantes de l’architecture 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Influence de la génération de code Sélection d’instructions: le choix de l’instruction est lié à la taille des données la largeur des données est fixée avant la sélection d ’instructions Allocation et assignation de registres: spilling : renvoi de données intermédiaires en mémoire le RSBQ réel ne peut être connu qu’après génération de code Ordonnancement: le coût d’un recadrage est lié à la phase d’ordonnancement la minimisation  des recadrages est réalisée au cours de l’ordonnancement. 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Daniel MENARD - LASTI - ENSSAT PARTIE 3 Une nouvelle approche ... 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Vers une nouvelle approche Détermination domaine définition Code C DSP RSBQcontrainte Front End Détermination du codage Représentation Intermédiaire RSBQmesuré Sélection d’instructions Mesure RSBQ Modèle de l’architecture Allocations de registres Détermination du domaine de définition des données Déterminé à partir de la représentation intermédiaire ou du code source Mise en place d’une méthode basée sur la norme L1 Codage des données en 2 parties Détermination du codage : Objectifs : - fixer la largeur des données traitées -> Permettra de fixer le type d’instruction à utiliser - réaliser un premier codage qui respecte la contrainte de RSBQ - prise en compte de l’architecture pour le codage Optimisation du codage en terme de temps d ’exécution : Minimisation du Texec du code : Minimisation d’une fonction de coût représentant le Texec intégrant le coût des différents recadrages Mesure du RSB : Utilisation d’une méthode analytique de calcul du RSBQ présenté par la suite Optimisation du codage Ordonnancement Code assembleur 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Méthode de détermination du RSBQ (1) Principe : modélisation du bruit en sortie de l’algorithme par une somme de sources de bruit filtrées ... Hj(z) bhj(n) xj(n) Hj(z) + y(n) bej(n) bej’(n) Hj(z) bg1(n) bg1’(n) Hb1(z) bgi(n) bgi’(n) Hbi(z) ... 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Méthode de détermination du RSBQ (2) Algorithmes cibles : structures linéaires récursives et non récursives structures non linéaires et non récursives : propagation des moments du bruit au sein du GFD. Modèle de bruit des opérateurs : Addition: Multiplication: 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Méthode de détermination du RSBQ (3) Modèle du bruit généré lors d’un changement de format Troncature Arrondi b-1 b1 bj-1 bj bn-2 bn bn-1 bj+1 Bits tronqués k bits Bits restants b-k bits 2-j+1 2-j 2-n+2 2_n 2-n+1 2-j-1 i 2-n 1 2 3 2-k p(b) 2k -1 p(b) i 2-n -1 0 1 -2k-1 2-k 2k-1 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Outil de détermination du RSBQ Code C, VHDL, assembleur Transformation du code en un GFD Signal Génération du GFD Recherche des informations nécessaires au GFD Signal Génération GFD Signal Front End Représentation intermédiaire GFD Signal GFD Signal Opérateurs arithmétiques classiques (, ) Informations requises format des données (bx, mx, nx, sx) structure temporelle de l’algorithme loi de quantification pour les recadrages Méthode Analytique Back End RSBQ 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Outil de détermination du RSBQ (back end) GFD Signal Transformation T1 Insertion des sources de bruit générées Substitution du modèle de bruit des variables et des opérateurs T1 Transformation T3 Calcul de la réponse impulsionnelle des Hi(z) Calcul du bruit global GFD Bruit Modèles de bruit T2 GFD Hi(z) Transformation T2 Détection et démantèlement des circuits du GFDbruit Détermination des équations récurrentes par parcours des arbres Élimination de certaines variables intermédiaires Détermination de la fonction de transfert globale T3 Pbruit 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Perspectives de travail Partie 4 Perspectives de travail 16/02/2019 Daniel MENARD - LASTI - ENSSAT

Perspectives de travail Outil de détermination du RSBQ : Développement des front-end Extension de la méthode à la conception d’ASIC avec GAUT Détermination et optimisation du codage Choix d’un compilateur Développement de l’outil Applications : systèmes de radiocommunication 3G (UMTS) 16/02/2019 Daniel MENARD - LASTI - ENSSAT