La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Synthèse Haut Niveau de Circuits Articles: Scheduling Algorithms For High-Level Synthesis Using Global Code Motions to Improve the Quality of Results for.

Présentations similaires


Présentation au sujet: "Synthèse Haut Niveau de Circuits Articles: Scheduling Algorithms For High-Level Synthesis Using Global Code Motions to Improve the Quality of Results for."— Transcription de la présentation:

1 Synthèse Haut Niveau de Circuits Articles: Scheduling Algorithms For High-Level Synthesis Using Global Code Motions to Improve the Quality of Results for High-Level synthesis Présenté par: Betânia STEFFEN ABDALLAH GONÇALVES

2 Synthèse Haut Niveau de Circuits 2 Plan Scheduling Algorithms For High-Level Synthesis Introduction Ordonnancemment Classification des Algorithmes dordonnancement Considération Importantes Future de la Synthèse Haut Niveau Using Global Code Motions to Improve the Quality of Results for High-Level synthesis Introduction Spark Mouvements de Code LAlgorithme dordonnancement Résultats Experimentaux Conclusion Critique

3 Scheduling Algorithms For High-Level Sysnthesis Auteurs Sriram Govindarajan

4 Synthèse Haut Niveau de Circuits 4 Introduction Design des Systèmes Digitaux Niveau transistor Ou Niveau Logique Niveau abstract: Synthèse Haut Niveau Réduire la Complexité

5 Synthèse Haut Niveau de Circuits 5 Introduction Quest-ce Synthèse Haut Niveau? Description Comportamental Description Structural Description Structural Compilation Partage S Allocation Génération du Contrôle Chemin de Données Contrôlleur Ordonnancement

6 Synthèse Haut Niveau de Circuits 6 Ordonnancement Lordonnancement est une tâche important dans la synthèse haut niveau parce quil va impacter léquilibre entre design et performance" Representation Intermediaire Etats et Pas de Contrôle Modèle FSMD Diviser Synthétiser Mapping Temporel FSMD: Finite State Machine with Data-Path

7 Synthèse Haut Niveau de Circuits 7 Ordonnancement

8 Synthèse Haut Niveau de Circuits 8 Classification des Algorithmes dordonnancement

9 Synthèse Haut Niveau de Circuits 9 Classification des Algorithmes dordonnancement Les Algorithmes Basiques

10 Synthèse Haut Niveau de Circuits 10 Classification des Algorithmes dordonnancement Programation Mathematique (Integer Linear Programming) Ordonnancement avec des Contraintes de Temps Systèmes en temps réels minimiser coût du hardware et E k ASAP et Lk ALAP N k nombre de FUs C k coût de chaque FU x i,j =1 si lopération i se passe dans le pas de contrôle j, sinon x i,j =0 p et q sont des pas de contrôle des opérations x i et x j Minimiser les FUs Garantir léxecution de lopération entre les limites ASAP et ALAP Garantir la dépendence de données

11 Synthèse Haut Niveau de Circuits 11 Classification des Algorithmes dordonnancement Heuristiques Constructive (Force directed Scheduling) Réduire le nombre de FUs utilisés Ordonnancement avec des Contraintes de Temps Prob = 1/ Mobilité Force α Prob + Force successeur + Force prédécesseur

12 Synthèse Haut Niveau de Circuits 12 Classification des Algorithmes dordonnancement Iterative Refinement (Réordonnancement Iteratif) Ordonnancement avec des Contraintes de Temps Les mouvements possibles sont determinés Une position aléatoire est pris pour chaque opération Les coûts sont calculés est les opérations avec les coût plus petits restent dans la position Pour les autres opérations, la procédure se repète La qualité de la solution dépend de la solution inicial

13 Synthèse Haut Niveau de Circuits 13 Classification des Algorithmes dordonnancement List-Based Scheduling ASAP + contraintes de resources Ordonnancement avec des Contraintes de Resources Contrainte de design surface de silicium Static List Scheduling Liste de priorité dynamique mobilité priorité ASAP et ALAP GCS (clé primaire) et LCS (clé secondaire) Liste de priorité statique Liste des noeuds qui ont ses prédécesseurs déjà ordonnancés GCS: greatest control step LCS: least control step

14 Synthèse Haut Niveau de Circuits 14 Classification des Algorithmes dordonnancement Simulated Annealing Table de 2 dimensions : Les Pas de Contrôle Versus FU (Unités Fonctionnels) 1 opération 1 pas de contrôle et 1 FU Modification iteratif de la table Coût du déplacement de loperation Path-Based Scheduling Minimisation du nombre de Pas de Contrôle Les chemins déxecution sont ordonnancés indépendamment Les ordonnancements de chaque chemin sont combinés pour générer lordonnancement final Miscellaneous

15 Synthèse Haut Niveau de Circuits 15 Considérations Importantes Unités Fonctionnels (FU) avec différents delays Cycle dhorloge déterminé par lunité la plus lente Unité Multi Fonctionnels Il y a des unités foctionnels qui peuvent éxecuter plusiers opérations Description Comportammental Constructions conditionnels: lordonnanceur doit être capable de partager les resources entre les opérations qui séxcluent. Boucles: peuvent contenir parallelism entre les iterations

16 Synthèse Haut Niveau de Circuits 16 Future de la Synthèse Haut-Niveau Problèmes à Solutionner Lordonnancement Pipeliné Coût du Contrôleur (il faut le considerer) Contraints de Surface (prendre en compte) Réalisme (constructions spéciales de langage)

17 Using Global Code Motions to Improve the Quality of Results for High-Level Synthesis Auteurs: Sumit Gupta Nick Savoiu Nikil Dutt Rajesh Gupta Alex Nicolau

18 Synthèse Haut Niveau de Circuits 18 Introduction Nécessités Trasformations de haut niveau pour optimiser la synthèse indépendamment du flux de contrôle de la description dentrée. Propositions de Solution Algorithmes dordonnancement qui utilisent des techniques de mouvement de code Spéculation Extraire parallelisme Augmenter lutilisation des resources

19 Synthèse Haut Niveau de Circuits 19 Spark: Framework de Synthèse de Haut Niveau Optimisation de la qualité de la synthèse haut niveau delays et surface

20 Synthèse Haut Niveau de Circuits 20 Spark – Description du Modèle ANSI-C: Description Comportamental Répresentation Intermédiaire: HTG, CFG et DFG Exécute les pasages danalyse de dépendence de données Fait lordonnancement du design Fait la liaison des resources Réalise la Synthèse de Contrôle Génère une sortie RTL (register transfer level) VHDL Mouvement de Code Héuristiques dordonnancement Modification des transformations de compilation de parallelisme VHDL: Evaluation des optimisations Pas de pointers Pas de gotos Pas de fonctions recursifs HTG: mantient les constructions de contrôle et de boucle

21 Synthèse Haut Niveau de Circuits 21 Spark – Description du Modèle Les Réprésentations Graphiques Code CHTG HTG avec CFG et DFG CFG: Graphique de Flux de Contrôle DFG: Graphique de Flux de Données

22 Synthèse Haut Niveau de Circuits 22 Mouvements de Code Resource idle = pas dopération à exécuter Exécuter une opération précédente ou suivante Respect des dépendences de données Spéculation

23 Synthèse Haut Niveau de Circuits 23 Mouvements de Code Spéculation: Chaîne Sequenciel dune comparaison suivi dune adition Parallelism de la comparaison et de laddition

24 Synthèse Haut Niveau de Circuits 24 Mouvements de Code Spéculation Inverse: Exemple Spéculation Inverse de b Spéculation de d

25 Synthèse Haut Niveau de Circuits 25 Mouvements de Code Exécution de condition au plus tôt: Design originalC est scheduled au plus tôt. Les opérations avant le If sont spéculé inversement. Lexécution du teste de condition au plus tôt va résoudre la dépendence de contrôle dans les branches IF-HTG. Opérations disponibles plus tôt pour lordonnancement.

26 Synthèse Haut Niveau de Circuits 26 Mouvements de Code Spéculation Conditionel: Exemple x et y sont spéculés. Les ressources dans le branche conditionel sont idle. z est spéculé conditionelement

27 Synthèse Haut Niveau de Circuits 27 Mouvement de Code Trailblazing: Technique hiérarchique de mouvement de code op se déplace de BB2 à BB1 sans passer pour les blocs intermédiaires du bloc IF

28 Synthèse Haut Niveau de Circuits 28 Mouvement de Code Changement Dynamique de Nom Elimination de la dépendence de données Code C DFG DFG après scheduling (d) Maintenace du flux de dependence de données (e) Maitenance aussi du non-flux de dependence de données Importance du non-flux de données: Manutention du nom original des variables pour permettre la visualisation des effets des transformations

29 Synthèse Haut Niveau de Circuits 29 LAlgorithme dordonnancement Priority-Based Global List Scheduling Heuristic BUT: minimiser le plus long delay Priorité α taille de la chaine de dépéndence de données Priorité = 0 opérations qui produisent des sorties Priorité = 1 opérations dont les résultats sont urilisés par les opérations de sorties Etc... Priorité maximal (IF-HTG) teste de condition

30 Synthèse Haut Niveau de Circuits 30 LAlgorithme dordonnancement Spark peut ordonnancer tous les types de boucles Ordonnancement des Boucles Fin du boucle Premier état après le boucle Premier état du boucle Condition pas satisfaite Condition satisfaite

31 Synthèse Haut Niveau de Circuits 31 LAlgorithme dordonnancement Heuristique pour lapplication de la Spéculation Conditionnel La Spéculation Conditionnel: Peut augmenter la taille de lordonnancement Peut augmenter complexité à cause des duplications des opérations

32 Synthèse Haut Niveau de Circuits 32 Résultats Expérimentaux OBS: Le multiplicateur (*) sexécute en 2 cycles Le diviseur (/) sexécute en 5 cycles Tous les autres opérations sexécutent en 1 cycle

33 Synthèse Haut Niveau de Circuits 33 Résultats Expérimentaux Effets dans la Performance et dans la Taille du Contrôlleur Spéculation Donne des meilleurs résultats

34 Synthèse Haut Niveau de Circuits 34 Résultats Expérimentaux Effets dans la Surface et dans le Période de lHorloge Delay: moitié avec mouvement de code Taille du chemin: constant Période de clock naugmente pas Surface: augmenté par les mouvements de code

35 Synthèse Haut Niveau de Circuits 35 Conclusion Mouvements de code importants pour minimiser les effets du choix de flux de controle e style de programmation Les mouvements de code Il réduit le delays Mais... Augmente la surface!!! Spark prendre en compte de contraintes de delay e surface Contraintes de surface: pas de solution dans le premier article Pas daméllioration en comparaison avec des autres travaux

36 Synthèse Haut Niveau de Circuits 36 Questions ?


Télécharger ppt "Synthèse Haut Niveau de Circuits Articles: Scheduling Algorithms For High-Level Synthesis Using Global Code Motions to Improve the Quality of Results for."

Présentations similaires


Annonces Google