| | 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 | }}} |