| 1 | {{{ |
| 2 | COMPTE RENDU DE LA REUNION DU 4 Mai 2009 |
| 3 | |
| 4 | ----------------------------------------------------------------- |
| 5 | A) Informations diverses |
| 6 | |
| 7 | Nom du projet |
| 8 | 10 personnes ont voté: |
| 9 | 1) COACH (5 voix) |
| 10 | 2) FLEXSOC, SYNPHONIE, OASYS (4 voix) |
| 11 | 3) OPENSOC (1 voix) |
| 12 | Il faut donc maintenant utiliser COACH et bannir "projet HLS". |
| 13 | |
| 14 | Date des prochaines réunions |
| 15 | - Mardi 16 Juin |
| 16 | - Jeudi 16 Juillet |
| 17 | |
| 18 | ----------------------------------------------------------------- |
| 19 | B) Résumé de la réunion |
| 20 | |
| 21 | Présentation de CAIRN: |
| 22 | |
| 23 | Steven Derrien a présenté CAIRN la contribution que l'IRISA propose |
| 24 | à COACH. Cette présentation est disponible sur le site |
| 25 | http://yaka.ensiie.fr/coach. |
| 26 | L'IRISA propose d'intégrer à COACH un outil qui adapte le (ou les) |
| 27 | processeur du SoC à l'application. Le principe de cet outil est le suivant: |
| 28 | 1) Détection dans le source de l'application d'instructions qui |
| 29 | permettent d'accélérer l'application. |
| 30 | 2) Reécriture de l'application en remplaçant dans le code C les |
| 31 | sections de code qui correspondent aux instructions accélératrices |
| 32 | par de l'assembleur embarqué faisant référence aux instructions. |
| 33 | 3) Ajout au coeur du processeur des instructions accélératrices. |
| 34 | Cette technique a été expérimentée sur NIOS, les gains en rapidité |
| 35 | allant de 10 à 300 pour cent suivant l'application. |
| 36 | |
| 37 | Cette approche bien que un peu éloignée de la HLS classique a été |
| 38 | bien accueillie par le groupe car elle entre tout à fait dans le cadre |
| 39 | primaire de COACH (la conception de SoC sur FPGA). |
| 40 | |
| 41 | Il a été soulevé le problème suivant: cet outil utilise en interne |
| 42 | un autre outil Jacob qui n'est pas open source, ce qui est contraire |
| 43 | à la directive principale du projet. |
| 44 | |
| 45 | Présentation des formats d'entrée des outils |
| 46 | |
| 47 | Les entrées des outils BEE, GAUT, SYNTOL et UGH ont été présentées. |
| 48 | Ces présentations sont disponibles sur le site http://yaka.ensiie.fr/coach. |
| 49 | |
| 50 | L'entrée de GAUT est actuellement un DFG. Toutefois le futur modèle |
| 51 | supportera la modélisation explicite du contrôle et sera basé sur un |
| 52 | CDFG ou un HTG (voir: http://yaka.ensiie.fr/coach/2009-04-07/hls-model.pdf). |
| 53 | L'entrée de UGH est un CFG et celles de BEE et SYNTOL sont des AST. |
| 54 | Une longue discussion a eu lieu sur lequel des 3 formats doit servir |
| 55 | d'entrée commune aux 4 outils. |
| 56 | |
| 57 | HTG: |
| 58 | - GAUT est évidemment pour une forme de CDFG / HTG. |
| 59 | - UGH doit pouvoir s'en sortir car il ne fait pas de |
| 60 | modifications, il se contente d'annoter. De plus une |
| 61 | telle structure lui permettrai dans un futur faire |
| 62 | quelques optimisations. |
| 63 | - BEE et SYNTOL ne sont pas trop chauds. En effet passer |
| 64 | du HTG à un AST est possible. Ils travaillent sur l'AST |
| 65 | initial pour fournir un AST différent en sortie. De ce fait, |
| 66 | reconstruire un HTG cohérent ne semble pas trivial. |
| 67 | - un avantage majeur des formats type CDFG/HTG est que l'on |
| 68 | peut bénéficier des optimisations de gcc. |
| 69 | |
| 70 | AST: |
| 71 | - BEE et SYNTOL sont pour. |
| 72 | - UGH doit encore pouvoir s'en sortir car l'AST n'est pas très éloigné |
| 73 | du CFG. |
| 74 | - GAUT n'est pas très partant pour les mêmes raisons HTG 3ième item. |
| 75 | - Craintes que l'on perde les optimisations de GCC. |
| 76 | |
| 77 | Néanmoins il est apparu un consensus sur le fait que le compilateur |
| 78 | commun est gcc. Gcc pourrait générer un premier modèle (exprimé en XML) |
| 79 | sur lequel travailleraient les outils amont (Syntol, Bee) et qui serait |
| 80 | ensuite traduit en un second modèle utilisable par GAUT et UGH. Toutefois, |
| 81 | une reflexion plus profonde doit etre menée : peut on utiliser un modèle |
| 82 | commun (proche de l'AST ou d'un CDFG) ou alors les modèles intermédiaires |
| 83 | et internes de gcc tels GENERIC (entre un AST et un CDFG) ou GIMPLE |
| 84 | (dans lequel les boucles ont été transformées en if-goto, utilisation |
| 85 | des 3 address forms, procédure non mises en ligne...). |
| 86 | A voir donc à la prochaine réunion après la présentation de Dominique Heller |
| 87 | sur Gcc. |
| 88 | |
| 89 | ----------------------------------------------------------------- |
| 90 | C) Actions pour la réunion du Mardi 16 Juin |
| 91 | |
| 92 | Pour tous, réfléchir au format d'entrée HTG ou AST ou CFG ou CDFG? |
| 93 | |
| 94 | Dominique s'est proposé pour nous faire un compte rendu de la sortie |
| 95 | AST en XML, les modèles internes, les passes d'optimisation, les plug-in |
| 96 | et la compilation sous contraintes de GCC-4.4. |
| 97 | |
| 98 | GRAPHITE http://gcc.gnu.org/wiki/Graphite |
| 99 | |
| 100 | Pour les participants qui n'ont pas encore présentés leur |
| 101 | contribution à COACH (CITI, Alain Darte) une présentation |
| 102 | de 30 minutes est encore et toujours la bienvenue afin de nous |
| 103 | permettre d'appréhender le projet dans son ensemble. |
| 104 | |
| 105 | ----------------------------------------------------------------- |
| 106 | |
| 107 | }}} |