sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés...
TRANSCRIPT
![Page 1: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/1.jpg)
Sélection et ordonnancement parallèle simultanés pour la conception de
processeurs spécialisés
Journées compilation – Dinard, 28 Avril 2011
Antoine FLOC’HCAIRN
INRIA Rennes
![Page 2: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/2.jpg)
2
Informations personnelles
• Doctorant (3e année) :• Université de Rennes 1• Équipe CAIRN
• Thèse:• «Reconnaissance de motifs pour l'extension de jeux
d'instructions de processeurs»• Sous la direction de Christophe Wolinski• Financement INRIA dans le cadre de NANO2012
(partenariat avec ST microeletronics)
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 3: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/3.jpg)
3
Plan
① Contexte et problématique
② Techniques de sélection d’instructions spécialisées
③ Sélection et ordonnancement simultané
④ Conclusion et perspectives
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 4: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/4.jpg)
4
Audio
Systèmes multimédias embarqués
Video
Traitement de signal …
… Contraintes fortes– Performances– Énergie– Surface– Temps de mise
sur le marché
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 5: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/5.jpg)
5
Du processeur au circuit dédié
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 6: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/6.jpg)
6
Conception d’ASIP
Adéquation
Architecture Outils
Algorithmes
Antoine FLOC’H - CAIRN - INRIA Rennes
« Application Specific Instruction-Set Processor »
![Page 7: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/7.jpg)
7
Conception partielle• Extension de jeu d’instructions
Antoine FLOC’H - CAIRN - INRIA Rennes
Performances
Consommation
Complique la compilation
Exemple du NIOS II pour FPGA Altera
Algorithmes coûteux…
… acceptable dans le contexte d’applications embarquées
![Page 8: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/8.jpg)
8
Conception partielle• Flot simplifié:
• Un processeur généraliste • Un compilateur adapté• Seule l’extension reste à définir
• Instructions spécialisées• Comment les identifier ? • Lesquelles sélectionner pour un programme donné ?
• La majorité des méthodes utilisent des graphes• Regroupement de nœud => Instruction spécialisée
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 9: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/9.jpg)
9
Exemple (DAG : chiffrement GOST)
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 10: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/10.jpg)
10
Exemple (DAG : chiffrement GOST)
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 11: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/11.jpg)
11
Plan
① Contexte et problématique
② Techniques de sélection d’instructions spécialisées
③ Sélection et ordonnancement simultané
④ Conclusion et perspectives
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 12: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/12.jpg)
12
Sélection d’instructions spécialisées(État de l’art)
• Deux approches possibles• Partitionnement HW/SW• Sélection d’occurrences issus d’une bibliothèque de
motifs
• Pour plus d’informations :C. Galuzzi and K. Bertels, The Instruction-Set Extension Problem: A Survey, ACM Transactions on Reconfigurable Technology and Systems (TRETS), Vol. 4, Issue 2, June 2011
http://ce.et.tudelft.nl/~carlo/
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 13: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/13.jpg)
13
Partitionnement • Identifier les nœuds:
• Exécutés sur le cœur• Exécutés sur l’extension
• Heuristique itérative [Atasu05]• A chaque itération: trouver le motif qui
minimise le chemin critique du graphe
• MaxMISO [Galuzi06]• Trouver les motifs MISO de tailles
maximales• Nombre d’entrées limité• Résolution ILP
Antoine FLOC’H - CAIRN - INRIA Rennes
MaxMISO 1 (4 in)
MaxMISO 2 (3 in)
![Page 14: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/14.jpg)
14
Sélection à partir d’une bibliothèque• Problème de couverture de graphe
• Bibliothèque de motifs• Graphe à couvrir par ces motifs
• Problème d’optimisation NP• min (motifs sélectionnés) [Guo03]• max (nœuds couverts) [Liao98]• min (instances de motifs) ) [Scharw07]• min (durée exécution)
[Martin09,Floch10]• min (dissipation énergie)• min (consommation)• min (taille de code)• ...
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 15: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/15.jpg)
15
Plan
① Contexte et problématique
② Techniques de sélection d’instructions spécialisées
③ Sélection et ordonnancement simultané
④ Conclusion et perspectives
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 16: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/16.jpg)
16
Lien entre la sélection et l’ordonnancement
Antoine FLOC’H - CAIRN - INRIA Rennes
Motif 1 Motif 2
2 Entrées / 1 SortieRegistres dans l’extension
![Page 17: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/17.jpg)
17
Lien entre la sélection et l’ordonnancement
Antoine FLOC’H - CAIRN - INRIA Rennes
Motif 1 Motif 2
3 Cycles
2 Entrées / 1 SortieRegistres dans l’extension
3 Cycles
Total = 3 + 3 + 1 cycles
![Page 18: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/18.jpg)
18
Lien entre la sélection et l’ordonnancement
Antoine FLOC’H - CAIRN - INRIA Rennes
Motif 1 Motif 2
1 Cycle
2 Entrées / 1 SortieRegistres dans l’extension
Total = 4 cycles
1 Cycle 1 Cycle 1 Cycle
![Page 19: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/19.jpg)
19
Sélection d’instruction et ordonnancement simultané
• La sélection et l’ordonnancement• Interdépendants• Contraints par le partage des ressources
• Approche proposée• Modéliser la sélection et l’ordonnancement dans un
unique problème d’optimisation
• Programmation par contraintes• Utilisation d’un solveur générique• Contraintes globales particulièrement adaptées au
partage de ressources
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 20: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/20.jpg)
20
Programmation par contraintes
• Ensemble de variables à domaines finis
• Ensemble de contraintes• Contrainte = relation entre variables
• unaire, binaire, ternaire • n-aire (contrainte globale)
• Techniques de consistances: réduction des domaines des variables
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 21: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/21.jpg)
21
Programmation par contraintes: exemple du sudoku
Antoine FLOC’H - CAIRN - INRIA Rennes
• Pour chaque case
• Pour chaque ligne
• Pour chaque colonne
• Pour chaque sous-grille
j
i
![Page 22: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/22.jpg)
22
Programmation par contraintes: exemple du sudoku
Antoine FLOC’H - CAIRN - INRIA Rennes
j
i
Consistance AllDiffde la colonne 1
![Page 23: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/23.jpg)
23
Programmation par contraintes: exemple du sudoku
Antoine FLOC’H - CAIRN - INRIA Rennes
j
i
Consistance AllDiffde la ligne 2
![Page 24: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/24.jpg)
24
Programmation par contraintes: exemple du sudoku
Antoine FLOC’H - CAIRN - INRIA Rennes
j
i
Consistance AllDiffde la première sous-grille
![Page 25: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/25.jpg)
25
Programmation par contraintes
• Techniques de consistances : réduisent les domaines des variables
• Recherche d’une solution• Évaluation des variables non fixées• Algorithme classique de séparation et évaluation
• Modification d’une variable => appliquer les consistances des
contraintes associées à cette variable
• Personnalisation/optimisation de la recherche• Ordre de sélection des variables évaluées• Parcours des domaines des variables évaluées
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 26: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/26.jpg)
26
Problème de sélection et d’ordonnancement simultané
Sélection
Ordonnancement
Architecture
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 27: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/27.jpg)
27
Problème de sélection et d’ordonnancement simultané
Recherche de toutes les occurrences de motifs dans le
graphe
Enoncer les contraintes (sélection, ordonnancement, architecture)
Solveur: minimisation de la durée d’exécution
Bibliothèque de motifs
Architecture cible
Graphe à couvrir
Graphe couvert et ordonnancé
Antoine FLOC’H - CAIRN - INRIA Rennes
M: ensemble des occurrences
Problème CSP
![Page 28: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/28.jpg)
28
Variables de sélection
Un nœud est couvert par une seule occurrence de motif
• : identifiant de l’occurrence sélectionnée pour le nœud ni
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 29: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/29.jpg)
29
Contraintes de sélectionUne occurrence sélectionnée couvre tous ses nœuds.
Pour chaque occurrence :
• : indique si l’occurrence est sélectionnée
• : nombre de nœuds couverts par l’occurrence
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 30: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/30.jpg)
30
Variables d’ordonnancement• Pour chaque nœud
• : début de l’exécution d’un nœud
• : durée d’un nœud
• Pour chaque occurrence• : début de l’exécution d’une
occurrence
• : durée d’une occurrence
n
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 31: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/31.jpg)
31
Contraintes d’ordonnancement• Les nœuds d’une même occurrence sont ordonnancés
simultanément
• Respect des dépendances de données
If () then
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 32: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/32.jpg)
32
Architecture cible• Partage du cœur
• Envoi/récupération des données vers l’extension
• Lancement de l’exécution de motifs sur l’extension
• Exécution d’instructions standard
• Partage de l’extension• Un seul motif à la fois
Antoine FLOC’H - CAIRN - INRIA Rennes
NIOS2 d’Altera
![Page 33: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/33.jpg)
33
Scénario d’ordonnancement
Antoine FLOC’H - CAIRN - INRIA Rennes
m1 m2
m3
Cycle 1
![Page 34: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/34.jpg)
34Antoine FLOC’H - CAIRN - INRIA Rennes
m1 m2
m3
m1
Cycle 2
Scénario d’ordonnancement
![Page 35: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/35.jpg)
35Antoine FLOC’H - CAIRN - INRIA Rennes
m1 m2
m3
Cycle 3
Scénario d’ordonnancement
![Page 36: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/36.jpg)
36Antoine FLOC’H - CAIRN - INRIA Rennes
m1 m2
m3
Cycle 4
Scénario d’ordonnancement
![Page 37: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/37.jpg)
37Antoine FLOC’H - CAIRN - INRIA Rennes
m1 m2
m3
m2
Cycle 5
Scénario d’ordonnancement
![Page 38: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/38.jpg)
38Antoine FLOC’H - CAIRN - INRIA Rennes
m1 m2
m3
Cycle 6
Scénario d’ordonnancement
![Page 39: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/39.jpg)
39Antoine FLOC’H - CAIRN - INRIA Rennes
m1 m2
m3
Cycle 7
m3
Scénario d’ordonnancement
![Page 40: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/40.jpg)
40
Partage de l’extension
Antoine FLOC’H - CAIRN - INRIA Rennes
mk
din et dout varient en fonction des sources/destinations de
l’occurrence (extension ou cœur)
m1 m2
Contrainte globale de partageTraitement d’une occurrence
![Page 41: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/41.jpg)
41
Partage du cœur
Antoine FLOC’H - CAIRN - INRIA Rennes
m
inm Xm outm+
Extension
Cœur
cycles
cycles
dexecm
![Page 42: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/42.jpg)
42
Résultats
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 43: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/43.jpg)
43
Plan
① Contexte et problématique
② Techniques de sélection d’instructions spécialisées
③ Sélection et ordonnancement simultané
④ Conclusion et perspectives
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 44: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/44.jpg)
44
Flot de conception ASIP
• ASIP : utiliser une extension matérielle pour accélérer une famille d’applications
• Gain en performances => complexité du couple compilateur/concepteur
• Dans le cas de systèmes embarqués, le temps de compilation d’applications critiques n’est pas un problème
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 45: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/45.jpg)
45
Sélection des instruction spécialisées
• La sélection et l’ordonnancement sous contraintes de ressources : interdépendants
• La programmation par contraintes• Formalisme permettant de modéliser l’ensemble des
contraintes dans un unique problème d’optimisation
• L’aspect modulaire facilite l’exploration du triangle d’adéquation (algorithme/outil/architecture)
• Heuristiques: résoudre des problèmes de taille importante sans changer le modèle de contraintes
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 46: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/46.jpg)
46
Travaux en cours
• Collaboration avec Steven Derrien (CAIRN) et Sanjay Rajopadhye (Mélange-CSU) dans le cadre de l’équipe associée LRS
• Il existe des interactions fortes entre les transformations de nids de boucles et la sélection d’instructions
• Exploration des ordonnancements polyédriques légaux dans le contexte ASIP embarqué• Connaissance fine du couple architecture/compilateur• Contraintes non linéaires pour réduire l’espace de recherche ?• Exploration coûteuse moins problématique
• Fusion/distribution + ordo de « statements » (style Pluto/POCC) à une granularité plus fine• Faire apparaître des motifs pertinents• Déporter des données sur l’extension
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 47: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/47.jpg)
47
Références• [Atasu05] K. Atasu, G. Dundar, and C. Ozturan. An integer linear programming
approach for identifying instruction-set extensions. In CODES+ISSS ’05: Proceedings of the 3rd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, pages 172–177, New York, NY, USA, 2005. ACM.
• [Galuzzi11] C. Galuzzi and K. Bertels, The Instruction-Set Extension Problem: A Survey, ACM Transactions on Reconfigurable Technology and Systems (TRETS), Vol. 4, Issue 2, June 2011
• [Galuzi06] C. Galuzzi, E. M. Panainte, Y. Yankova, K. Bertels, and S. Vassiliadis. Automatic selection of application- specific instruction-set extensions. In CODES+ISSS ’06: Proceedings of the 4th international conference on Hardware/software codesign and system synthesis, pages 160–165, New York, NY, USA, 2006. ACM.
• [Guo03] Y. Guo, G. J. Smit, H. Broersma, and P. M. Heysters. A graph covering algorithm for a coarse grain reconfigurable system. In LCTES ’03: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems, pages 199–208, New York, NY, USA, 2003. ACM.
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 48: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/48.jpg)
48
• [Liao98]• [Scharw07]• [Martin09] K. Martin, C. Wolinski, K. Kuchcinski, A. Floch, and F. Charot.
Constraint-driven instructions selection and application scheduling in the durase system. In ASAP 2009- 20th IEEE International Conference on Application-specific Systems, Architectures and Processors, 2009.
• [Floch10] A. Floch, C. Wolinski, and K. Kuchcinski. Combined scheduling and instruction selection for processors with reconfigurable cell fabric. In Application-specific Systems Architectures and Processors (ASAP), 2010 21st IEEE International Conference on, pages 167 –174, 2010.
Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 49: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/49.jpg)
49Antoine FLOC’H - CAIRN - INRIA Rennes
![Page 50: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/50.jpg)
Initial problem state
Element constraint
• Relationship between a variable and an array of variables
• X[]: variables array• I : index variable• Y: another variable
I = 2
V1
V2
V3
V4
V5
X[]
I Y= V2 = {0..2}
Y=X[I]
A solving state
![Page 51: Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH](https://reader035.vdocuments.site/reader035/viewer/2022070309/551d9da5497959293b8d642e/html5/thumbnails/51.jpg)
DIFF2
DIFF2(R1,R2,R3)
No overlapping