Compte rendu de la réunion
ESIEE/INSA/INRIA/Le2i du 27/03/2003 à l'ESIEE
T. Grandpierre
Présentations et discussions centré sur les travaux de chaque laboratoire
concernant la méthodologie AAA, l'outil SynDEx, et leurs applications.
- Mohamed Akil (m.akil@esiee.fr)
- Vincent Brost (vincent.brost@free.fr)
- Jean Gabriel Cousin (Jean-Gabriel.Cousin@insa-rennes.fr)
- Olivier Desforges (Olivier.Deforges@insa-rennes.fr)
- Julien Forget (julien.forget@inria.fr)
- Thierry Grandpierre (t.grandpierre@esiee.fr)
- Linda Kaouane (kaouanel@esiee.fr)
- Gwenal Merlet (Gwenal.Merlet@insa-rennes.fr)
- Jean François Nezan (Jean-Francois.Nezan@insa-rennes.fr)
- Sébastien Le nours (Sebastien.Le-nours@insa-rennes.fr)
- Fabienne Nouvel (fabienne.nouvel@insa-rennes.fr)
- Michel Paindavoine (paindav@u-bourgogne.fr)
- Mickael Raulet (Raulet@tcl.ite.mee.com)
- Yves Sorel (yves.sorel@inria.fr)
- Fan Yang (fanyang@u-bourgogne.fr)
Julien Forget, ingénieur de l'action de recherche ``Optimisation des Systèmes
Temps Réel Embarqués'' (OSTRE) de l'INRIA, a présenté la
dernière version de SynDEx (v 6.6.0) et ses nouvelles fonctionnalités :
- Graphe d'algorithme :
- possibilité de spécifier directement des sommets de répétitions (sommets
Fork/Join/Iterate qui étaient ajouté implicitement),
- déduction automatique du facteur de répétition quand un arc connecte des
ports de tailles différentes et affichage de ce facteur,
- possibilité de spécifier explicitement ce facteur de répétition dans le
cas où le rapport ``entrée/sortie'' vaut 1 (principalement utile quand spécification
d'un iterate sans fork),
- notions de hiérarchie implicite/explicite.
- Graphe d'architecture : SynDEx supporte maintenant la communication
inter-opérateur par média RAM (uniquement SAM jusqu'à maintenant),
- Autres :
- possibilité de paramétrer la taille des ports à l'aide d'un label,
- possibilité de spécifier des contraintes de distribution évoluées
(groupe d'opérations, placement exclusif, etc.),
- différents types de dépendances (les ``précédences seules'' ne sont pas
encore gérées au niveau exécutif).
Cette présentation a été suivie d'une démo de la version
de SynDEx 6.6.1 disponible en téléchargement sur http://www.syndex.org.
Thierry Grandpierre a présenté les travaux de l'équipe concernant l'extension
de la méthodologie AAA/SynDEx aux circuits.
Cette extension permet la synthèse de circuit (VHDL structurel) de toute
spécification algorithmique SynDEx y compris les spécifications contenant des
répétitions et/ou du conditionnement. Pour cela il faut synthétiser le chemin
de données et le chemin de contrôle. Le chemin de données est directement
extrait du graphe d'algorithme. Le chemin de contrôle est synthétisé à partir
d'un graphe de voisinage lui même construit à partir du graphe d'algorithme et
des relations de répétitions entre sommets.
Cette extension permet aussi d'optimiser l'utilisation de la surface du circuit
en fonction des contraintes de latence de l'application : à partir d'une
spécification algorithmique factorisée donnée il est toujours possible de
construire différentes implantations : implantation complètement parallèle,
complètement séquentielle (synthèse de ``boucles'') ou bien un mélange des deux
(partiellement parallèle et partiellement séquentielle). Nous avons donc
développé une heuristique de défactorisation partielle qui recherche la
meilleure implantation (celle qui minimise la surface et la ltence) pour chaque
frontière de répétitions (dans le cas de boucle imbriquées il s'agit donc de
rechercher les parties à dérouler pour obtenir un compromis surface de circuit
vs. latence satisfaisant).
Remarques :
- les optimisations de type retiming automatique n'ont pas encore été abordées.
- la synthèse automatique est basée sur la création préalable d'IP VHDL qui
correspondent à chaque opération du graphe d'algorithme (de même qu'en SynDEx
il faut fournir la spécification en C, assembleur ou autre de chaque opération). Chaque
IP est caractérisée par sa latence et le nombre de cellules élémentaire
requisent pour son implantation.
Ces travaux (heuristiques et synthèse) ont été implantés dans un logiciel
développé à l'ESIEE ``SynDEx-IC'' qui était basé sur le noyau SynDEx v6.0 de
l'INRIA. Ce noyau ne supportant pas le conditionnement et ayant maintenant été
abandonné par l'INRIA au profit du noyau 6.6. nous portons actuellement notre
travail sur ce nouveau noyau (travail effectué par Pierre Niang, stagiaire DEA)
afin de profiter de toute ses nouvelles fonctionnalités.
Les perspectives : extension au multi-circuit, partitionnement et synthèse
automatique des communications entre composants programmables et
reconfigurables.
Olivier Desforges a présenté les activités du groupe image du laboratoire IETR
de l'INSA (UMR CNRS) autour de la méthodologie AVS/SynDEx et des architectures
à base de multi-DSP C6x. Présentation d'AVS, de l'architecture C6x et des
cartes multi-C6x utilisées (Pentek/Sundance), le standard MPEG4 puis la
description et l'évaluation d'applications de compression (LAR et MPEG,
Cf. démo M. Raulet).
Présentation thématique du software radio : on part d'un existant (la norme)
Démo SynDEx sur carte multi-DSP en 3 étapes :
- vérification fonctionnelle sur PC de l'application spécifiée sous SynDEx,
- implantation DSP + PC en modifiant l'architecture cible sous SynDEx,
- implantation multi DSP + PC (2DSP + 2 média de comm. inter DSP et le
lien PCI entre le PC le premier DSP)
Création d'un front end graphique (DSP-viewer) pour la communication entre le
PC sous windows et la carte (affichage des entrées sorties, chargement de
l'application dans la carte).
Présentation de l'avancée des travaux par rapport à la dernière réunion :
utilisation de SynDEx pour les architectures mixtes DSP-FPGA.
- spécification de l'architecture reconfigurable sous la forme d'un
sous-graphe composé d'un sommet ``routeur'' et d'autant de sommet
``processeur-FPGA'' que l'on souhaite de niveau de parallélisme dans le FPGA
réel,
- présentation du modèle de communication FPGA-DSP basé sur des IP de
communication à protocole C40,
- présentation de la structure du code VHDL généré pour le FPGA,
- présentation des objectifs de stage de Gwenal Merlet.
Présentation des Systèmes sur puces pour radio logicielle.
Les développements vont progressivement du mono-fpga, puis multi-carte, puis
DSP/FPGA, puis multi rack.
Flot de conception proposé : System C Cocentric
VCC / SynDEx.
Constat : actuellement la démarche AAA semble avoir été mise de côté/oubliée.
Thèmes image :
- Algo.Traitement du Signal des Images (Michel Paindavoine, Fan Yang),
- Info. et image (synthèse)
- Architecture et intégration (capteurs images)
Objectif : ``experimentateur'' de méthodes dans le but de faire évoluer les outils.
Algos. de segmentation/classification d'objets dans une image, spécialité dans
le traitement des visages (traitement bas niveau pixel, haut niveau
liste).
Architectures : transputer, C40, C60, conjointement avec SynDEx. En parallèle
développement d'ASIC, maintenant FPGA Xilinx (virtex, spartan).
Capteur : rétines photoélectrique associée à un pré-traitement
local. Architecture massivement parallèle intérêt SynDEx-IC pour
approche AAA.
Présentation par Vincent Brost (prof. agrégé enseignant Le2i et en thèse au
Le2i) de son travail. Expertise des micro-processeurs.
Constat de départ : le Le2i a fait un gros investissement temps/argent sur la
famille Texas C40. Mais maintenant le C60 est plutôt préféré (bien que non
pourvu de liens de comm. comme C40). Le Le2i a donc développé une carte à base
de C60 en cours de debuggage qui sera d'ailleurs mis à la disposition de la
communauté.
Pour le traitement d'image le Le2i travail sur un processeur dédié au
traitement d'image: un multi-VLIW taillé sur mesure a l'application implanté
dans un FPGA type virtex 2v1000. Chaque VLIW est un coeur de C60 dont on a
implanté uniquement les unités utilisées (sorte d'ASIP générique). Vincent à
implanté et validé un modèle à 100Mhz. Les perspectives sont d'implanter
plusieurs coeur sur le même FPGA et d'utiliser SynDEx comme outils de
prototypage rapide sur cette carte qui serait mis à disposition de la
communauté. Les applications et les IPs developpées pour C40/C60 seront donc
réutilisables sur cette architecture.
Yves Sorel propose de définir une ``roadmap'' SynDEx, et la mise en place d'une
structure fédérative qui serait au delà d'une AT (du GDR ISIS mais qui a
l'inconvenient d'être limité dans le temps à 12 ou 18 mois). Le but étant :
- d'éviter le manque de visibilité connu dans le passé. Les travaux sont
reconnus uniquement dans la communauté GDR ISIS,
- créer une communauté SynDEx inspirée et basée sur le modèle du libre (type
Linux, Ptolemy, Scilab ...).
Discussion sur l'organisation de l'animation, favoriser l'échange
requiert forte implication des participants.
Au groupe présent doit s'ajouter J.B. Choquel, J. Serot.
Par exemple la contribution de Mitsubishi peut faire l'objet de pages web sur
le C60 avec démos d'applications sur C60. Web à 2 niveaux : public/restreint
avec quelques parties du LAR (en cachant certaine fonctions), et une version
encore plus édulcorée du MPEG4. il y a encore qq bugs noyaux à
corriger, le 14 avril a été décidé pour une page C6x/insa (avec une application
non confidentielle et l'application front end de communication avec la carte).
- construction de la structure de données no-flatten avec sommets
de répétitions et conditionnement pour SynDEx-Ic,
- pouvoir paramétrer la caractérisation (paramètre sur le temps des
fonctions), dissocier durée et cycle dans la caractérisation afin de pouvoir
avoir des processeur paramétrés par leur fréquence de fonctionnement,
- paramétrage de la caractérisation en fonction de la taille des données manipulées,
- génération de boucles (car bloquant au niveau mpeg4),
- prévoir une réunion génie logiciel SynDEx : serveur CVS (présentation des
développements fait par Grenoble pour la tolérance aux pannes),
Pour la prochaine réunion : faire une proposition de réunion a travers
l'interface web, saisir quelque ligne pour le programme et sélectionner Yves
Sorel dans le comité de pilotage. Le délai à prévoir est d'un mois.
Une réunion du thème C est prévue le 15 mai pour présenter les outils à la
communauté architecture. Il y aura des réunions thématiques sur les
applications : sur la compression en juillet, sur les IP Soc par Eric Martin en
(?) et sur le Mouvement en janvier 2004.
Bien que de durée limitée à 12 ou 18 mois , nous pouvons essayé de monter une
proposition pour une action thématique.
Notre prochaine réunion a été fixée pour le jeudi 19 juin.
thierry Grandpierre
2003-05-12