Changes between Initial Version and Version 1 of Reunion-2009-06


Ignore:
Timestamp:
Aug 24, 2009, 6:24:06 PM (15 years ago)
Author:
coach
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Reunion-2009-06

    v1 v1  
     1
     2{{{
     3COMPTE RENDU DE LA REUNION DU 16 Juin 2009
     4
     5-----------------------------------------------------------------
     6A) Présentation: Interfaçage d'IP.
     7
     8     Tanguy Risset a présenté la contribution que le CITI propose
     9  à COACH.  Cette présentation est disponible sur le site
     10  http://yaka.ensiie.fr/coach.
     11  Le CITI propose d'intégrer à COACH un système pour interfacer
     12  un coprocesseur matériel à l'application tournant sur le SoC.
     13  Les problèmes essentiels sont:
     14    - comment alimenter efficacement le coprocesseur (profiter
     15      du mode busrt et des schémas d'échanges du coprocesseur).
     16    - comment interfacer le coprocesseur au logiciel pour ne
     17      pas avoir de driver système à écrire.
     18  Le CITI envisage de créer un DMA "intelligent" qui connaissant
     19  le schéma d'échange du coprocesseur avec l'extérieur optimise
     20  ceux-ci.
     21  La contrainte est que le coprocesseur doit avoir un schéma
     22  d'échange fixe, c'est à dire qui ne dépend pas des données
     23  qu'il reçoit.
     24
     25  L'intégration de cet interfaçage à COACH a soulevé 2 problèmes:
     26    - COACH visant l'implantation d'une application dans un SoC sur
     27      FPGA.  L'application est un réseau de tâches communiquant
     28      par l'intermédiaire de FIFO et le matériel visé est un
     29      sous-ensemble des composants SoCLib. De ce fait les
     30      communications sont déjà définies dans SoCLib (protocole et
     31      bibliothèque srl).
     32      Est-ce une bonne idée d'implanter un second schéma de communication?
     33      Après discussion, Tanguy n'a soulevé aucune objection pour
     34      utiliser le protocole physique srl dans le composant
     35      d'interfaçage ce qui fait que son utilisation sera transparente
     36      pour l'utilisateur final de COACH.
     37    - Autre question soulevée, ce composant est-il un concurrent
     38      du MWMR de SoCLib? En fait, la réponse est non. Les MWMR passent
     39      leurs temps à ce battre pour prendre les locks sur les FIFOs.
     40      Ce composant peut donc être vu comme un MWMR intelligent dans
     41      le cas où le schéma d'échange est statique.
     42 
     43  Ces 2 problèmes étant résolus, cette contribution apporte un plus
     44  au projet.
     45 
     46-----------------------------------------------------------------
     47B) Présentation: Structures de GCC
     48
     49     Dominique Heller a présenté les structures de données de
     50  GCC et comment GCC les chaîne et les optimisations qu'il
     51  fait sur chacune d'elle. Cette présentation est disponible sur
     52  le site http://yaka.ensiie.fr/coach.
     53 
     54  Il y a trois structures principales correspondant à:
     55    - arbre syntaxique (seulement pour le C).
     56    - arbre syntaxique abstrait
     57    - Control Data Flow Graph
     58
     59  Sur chacune de ces structures GCC fait des transformations
     60  (construction des boucles, passage en SSA, élimination du
     61   branches morte, transformation polyédrique, ...)
     62  plus on avance, plus le modèle mémoire s'éloigne du source
     63  initial.
     64
     65  GCC est très configurable. Chaque transformation et chaque
     66  traitement peut être vu comme un module, que l'on peut activer
     67  ou désactiver par un fichier de configuration.
     68  On peut également ajouter facilement des modules.
     69
     70  Il est donc aisé d'ajouter un module:
     71    1) qui dumpe une des structures après avoir fait les
     72       optimisations désirées
     73    2) qui est un outil de HLS et travaille directement sur les
     74       structures de GCC.
     75  Le problème du 1) est où s'arrête-t-on dans GCC et on revient
     76  problème du format (au sens sémantique) commun des outils de COACH.
     77  Le 2) a les avantages suivants: a) un outil de HLS de COACH peut
     78  s'intercaler où il veut dans la compilation GCC; b) le format
     79  d'échange est tout défini, c'est les structures de données de GCC.
     80  Mais il soulève aussi de sérieux problèmes: a) Lourdeur les structures
     81  de données de GCC sont complexes; b) une fois qu'une version de GCC
     82  aura été choisie, il sera difficile d'en changer si ses structures sont
     83  modifiées; c) difficulté de repasser d'un CDFG à un AST (sens inverse
     84  des phases GCC); d) Si une information n'est pas prévue dans les
     85  structures de données de GCC (tel le cycle d'une opération)
     86  impossibilité de l'ajouter.
     87
     88-----------------------------------------------------------------
     89C) Actions pour la réunion du Jeudi 16 Juillet
     90
     91  Pour tous, réfléchir au format d'entrée et l'interfaçage avec
     92  GCC. Pour cela voir les 2 papiers sur graphite envoyés par Philippe
     93  et sur le site HTTP.
     94
     95  Paul, Christophe et Ivan doivent envoyer à Dominique un bench pour
     96  qu'il dumpe ce que GCC en fait à différents niveaux.
     97  L'analyse de ces dumps et de ces benchs seront fait pendant la réunion
     98  de Juillet.
     99
     100-----------------------------------------------------------------
     101
     102}}}