Programmation graphique du processeur CELL : Faciliter la programmation T. Grandpierre
Contexte 8 cœurs DSP + 2 threads sur le PowerPC Communications par DMA
Problèmes Découpage (distribution) des tâches sur chaque processeur Allocation mémoire correspondante Programmation des transfers DMA Génération de code Exécution Mesure de performances
Méthodologie de conception Implantation optimisée d’appli. temps réels : Algo. : parallélisme potentiel Archi. : parallélisme disponible Implantation = distribution + ordonnancement + optimisation/estimation de performances + génération (code/config. communications) Contraintes : temps réel, prototypage rapide, hétérogénéité, différents domaines d’expertise Méthodologie Adéquation
AAA/SynDEx 1 Architectures multiprocesseurs Adéquation (heuristiques gensig filtre adap filtre sub adap visu retard coeff 1 Architectures multiprocesseurs (Graphe d’architecture) Adéquation (heuristiques distribution ordonnancement) Génération automatique d’exécutifs distribués Algorithmes (Graphe flot de données) Estimation performances 1 2 3 4 Opr1 Com1b Com1a Com2b Com2a Com3a Opr2 Opr3 processeur1 processeur2 processeur3 RAM D/P SAM D Opr4 processeur4 2 in calc out send receive all.Din/calc all.Pin all.Dlin all.Pcalc all.Dlcalc all.Pout all.Dlout all.Dcalc/out loop endloop in_ini in_end out_ini out_end all.Po1 all.Po2 all.Po4 all.D_o1o2 all.D_o2o3 all.D_o3o4 all.Po3 all.Dlo1 all.Dl2 all.Dlo4 all.Dlo3 alias.D_o3o4 ESPACE MEMOIRE RAM 3 semaphores_(s_empty…) processor_( opr1, .) alloc_(type_in/calc...) thread_(comr1a) loop_ pre0 (s_empty) sucF(s_full) send(in/calc) preE(s_empty) endthread_ endloop_ main_ in_ini( ) spawn_thread(com1ra) sucE(s_empty) in(in/calc) preF(s_full) in_end ( ) endmain_ endprocessor_ MACRO PROCESSEUR BIBLIOTHEQUE GENERIQUE D’EXECUTIF de macros COMPILATEUR Executable1 Executable2 src BIBLIO. De Fonctions 4
SynDEx
Objectifs Décrire le processeur CELL dans SynDEx Enrichir la librairie d’exécutif Développer une application de test