12.07.2015 Views

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

Algorithmes de la morphologie mathématique pour - Pastel - HAL

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Algorithmes</strong> <strong>de</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong> <strong>pour</strong> les architectures orientées fluxJaromír BRAMBORmorphologiques travail<strong>la</strong>nt sur le voisinage peut raccourcir le temps du calcul. Nous avons exploré égalementl’utilisation d’un autre type d’architectures intéressant <strong>de</strong> ce point <strong>de</strong> vue – les processeurs graphiques– et nous avons démontré sur les résultats expérimentaux qu’ils sont, à présent, assez performants<strong>pour</strong> concurrencer les GPP afin d’assurer l’exécution <strong>de</strong>s opérations morphologiques. L’apportsecondaire <strong>de</strong> cette thèse est celui du formalisme fonctionnel que nous avons adopté <strong>pour</strong> <strong>la</strong> <strong>de</strong>scription<strong>de</strong> nos algorithmes travail<strong>la</strong>nt sur les flux <strong>de</strong> données.Perspectives et axes <strong>de</strong> recherche possiblesLes travaux effectués pendant <strong>la</strong> préparation <strong>de</strong> cette thèse ont évoqué certaines idées ou même <strong>de</strong>sproblématiques qui n’ont pas pu être explorées en entier ou qui n’ont pas trouvé <strong>de</strong> vraie p<strong>la</strong>ce dansce manuscrit. Nous les mentionnons dans <strong>la</strong> section <strong>de</strong>s perspectives comme les sujets d’une possibleprochaine exploration car nous trouvons qu’ils sont intéressants. La valorisation <strong>de</strong>s algorithmes dans lesarchitectures dédiées est également à envisager.La première idée, qui est tout-à-fait intéressante et qui se joint aux idées mentionnées implicitementdans cette thèse, est l’utilisation <strong>de</strong>s processeurs à plusieurs cœurs <strong>pour</strong> paralléliser le calcul morphologiqueset les architectures à plusieurs fils d’exécution, logiques ou physiques. Étant donné que nos effortsd’expérimentation se sont concentrés sur les tests comparatifs effectués sur les processeurs avec un seulfil d’exécution, il serait envisageable, et même très important <strong>pour</strong> les applications pratiques, d’effectuerune étu<strong>de</strong> comparative qui montrerait les gains <strong>de</strong> performance lors d’exécution <strong>de</strong>s algorithmes décritsdans cette thèse sur les architectures parallèles qui peuvent exploiter le paradigme stream <strong>de</strong> traitement<strong>de</strong>s données ; ce<strong>la</strong> à l’échelle <strong>de</strong>s tâches par le paradigme Divise et conquiers mais également à l’échelle<strong>de</strong>s éléments <strong>de</strong>s streams par <strong>la</strong> réplication fonctionnelle (où nous remp<strong>la</strong>çons <strong>la</strong> fonction map du Haskellpar <strong>la</strong> fonction farm).Une autre idée est re<strong>la</strong>tive aux implémentations <strong>de</strong>s algorithmes sur les architectures spécialisées,telles que les architectures nativement construites <strong>pour</strong> l’exécution en stream (e.g. le processeur Imagine)ou les architectures dédiées à <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong> (e.g. les architectures prototypées à l’ai<strong>de</strong><strong>de</strong>s FPGA). Cette idée est à considérer autant <strong>de</strong> plus vu le déroulement <strong>de</strong>s événements les plus récentsoù l’AMD vient d’annoncer Pri06 l’introduction <strong>de</strong> <strong>la</strong> technologie ouvrant <strong>pour</strong> les FPGA un accès directdans l’architecture <strong>de</strong>s processeurs GPPMM. Cette technologie, nommée Torrenza et <strong>de</strong>stinée <strong>pour</strong> <strong>la</strong>gamme <strong>de</strong>s processeurs AMD Opteron, <strong>de</strong>vrait profiter <strong>de</strong> <strong>la</strong> liaison rapi<strong>de</strong> à <strong>la</strong> mémoire centrale et auprocesseur lui-même <strong>la</strong>issant ainsi un grand terrain libre <strong>pour</strong> les applications dédiées, y compris celles<strong>de</strong> <strong>la</strong> <strong>morphologie</strong> <strong>mathématique</strong> auxquelles nous nous intéressons le plus.La construction <strong>de</strong>s procédés du calcul en flux <strong>de</strong> données qui utilisent <strong>la</strong> propagation à base <strong>de</strong>règles et dépendant du contenu <strong>de</strong> l’image est également une idée à explorer. Cette problématique estsouvent traitée par les files d’attente ou les files d’attente hiérarchiques et est également intéressante ;surtout si nous voulons explorer l’exécution en stream et profiter <strong>de</strong> <strong>la</strong> parallélisation par <strong>la</strong> réplicationfonctionnelle. Notons que certains principes d’activation <strong>de</strong>s pixels en parallèle qui sont utilisés lors dutraitement <strong>de</strong>s files d’attente sont décrits dans <strong>la</strong> thèse <strong>de</strong> Dominique Noguet Nog98 .Pouvoir exécuter les algorithmes à base <strong>de</strong> files d’attente sur les processeurs graphiques est égalementun sujet important à étudier. Ce type <strong>de</strong> traitement est, à l’état actuel <strong>de</strong>s technologies <strong>de</strong>s GPU, difficileà effectuer car malgré le fait que les GPU peuvent sortir en même temps plusieurs valeurs correspondantà l’activation / non-activation <strong>de</strong>s voisins d’un pixel, le p<strong>la</strong>cement <strong>de</strong>s pixels à traiter au bon endroit <strong>de</strong><strong>la</strong> file d’attente n’est pas trivial et <strong>de</strong>man<strong>de</strong>rait plusieurs itérations <strong>de</strong> traitement du pipeline graphique.Ce qui se serait traduit par l’augmentation du temps du calcul nécessaire et ce qui, par conséquent,défavoriserait fortement les GPU dans un tel scénario d’utilisation. Les changements <strong>de</strong> <strong>la</strong> structure<strong>de</strong>s processeurs graphiques nous semblent cruciaux <strong>pour</strong> pouvoir effectuer ce type <strong>de</strong> traitement afind’obtenir <strong>de</strong>s performances intéressantes.Dans <strong>la</strong> partie introductive (cf. <strong>la</strong> section 3.4.6, page 55), nous avons mentionné Brook – l’outil <strong>de</strong>traitement <strong>de</strong>s données en stream utilisant les GPU comme support du calcul. D’après nos expériences, il194

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!