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.

Jaromír BRAMBOR9.6. ESTIMATION DE LA COMPLEXITÉ ET DES PERFORMANCES POUR LES GPUparallèle <strong>pour</strong>ra être exprimée comme :C N ′ (τ + µ)KMN + (π − µ)L= Θ(E+ α(K)MN ) (9.7)PIl est évi<strong>de</strong>nt que nous obtenons les meilleures performances vis-à-vis du temps <strong>de</strong> calcul dans le cas oùle traitement sur toutes les unités parallélisées <strong>de</strong> notre chaîne est équilibré.9.6 Estimation <strong>de</strong> <strong>la</strong> complexité et <strong>de</strong>s performances <strong>pour</strong> les GPUMême s’il n’est pas très difficile <strong>de</strong> décrire <strong>la</strong> complexité <strong>de</strong>s algorithmes <strong>pour</strong> les GPU à l’ai<strong>de</strong> <strong>de</strong>O() en se basant sur les éléments traités, <strong>la</strong> prévision <strong>de</strong>s performances, comme nous le faisons <strong>pour</strong> lesGPP à l’ai<strong>de</strong> <strong>de</strong> Θ() n’est pas simple à effectuer.C’est <strong>la</strong> combinaison <strong>de</strong>s processeurs GPP - GPU qui rend cette estimation difficile. Dans cettecombinaison, il s’agit d’une machine distribuée, avec tous les phénomènes qui sont propres au calculdistribué, dont les plus importants sont les dé<strong>la</strong>is dûs au transfert <strong>de</strong> données d’entrée et <strong>de</strong> sortie et lesdé<strong>la</strong>is dûs au temps <strong>de</strong> synchronisation et au passage <strong>de</strong>s comman<strong>de</strong>s graphiques qui peuvent avoir unestructure complexe et représenter un volume <strong>de</strong> données important.Il faut également percevoir le GPU lui-même comme une structure <strong>de</strong> multiples processeurs, cf.fig. 3.18, page 52. Puisqu’il s’agit d’une structure architecturale qui est chaînée, <strong>la</strong> performance finale estfortement dépendante du type <strong>de</strong>s algorithmes que nous effectuons et <strong>de</strong> <strong>la</strong> manière dont nous utilisonsles unités exécutives <strong>de</strong> cette chaîne. Chacune <strong>de</strong> ces unités est constituée d’un matériel informatiquespécialisé et est caractérisée par un niveau <strong>de</strong> parallélisation différent. Ce qui se traduit par <strong>de</strong>s capacités<strong>de</strong> calcul différentes d’une unité à l’autre. Si une <strong>de</strong>s unités est saturée par le traitement, tout le pipelineest saturé et on parle, dans le domaine <strong>de</strong> <strong>la</strong> programmation <strong>de</strong>s GPU, du traitement limité par cetteunité. Les capacités <strong>de</strong>s ces unités sont optimisées par le fabricant <strong>pour</strong> les applications <strong>de</strong> <strong>la</strong> synthèsegraphique, elles peuvent s’avérer non-optimales ou complètement inadaptées au traitement d’analysed’images que nous visons dans cette thèse. L’optimisation <strong>de</strong>s programmes <strong>pour</strong> obtenir un bon équilibredu calcul entre ces unités et <strong>pour</strong> augmenter ainsi <strong>la</strong> performance est même le sujet <strong>de</strong> nombreux articlesque l’on peut trouver dans <strong>la</strong> littérature CW02, Spi03 .9.6.1 Transfert <strong>de</strong> donnéesLe premier facteur très limitant <strong>pour</strong> notre traitement est représenté par les temps que nous perdonslors du transfert <strong>de</strong> données et ce<strong>la</strong> dans les <strong>de</strong>ux sens (GPP↔GPU). Notons que les articles traitant dutransfert <strong>de</strong> données du point <strong>de</strong> vue <strong>de</strong> <strong>la</strong> programmation, un sujet particulier mais important, ont étédéjà présentés et nous les recommandons au lecteur Ake03 .Le bus AGP que nous avions à disposition est asymétrique. Le débit dans le sens GPP→GPU estsupérieur (théoriquement jusqu’à 2.1 Go/s <strong>pour</strong> AGP 8x) à celui dans le sens opposé (théoriquement 266Mo/s, ce qui est équivalent à "1x").Nous présentons les temps obtenus expérimentalement <strong>pour</strong> le transfert <strong>de</strong> données GPU→GPP sur<strong>la</strong> fig. 9.1. Ces temps correspon<strong>de</strong>nt à AGP 1x et nous montrent les temps excessivement longs <strong>pour</strong>un travail en temps réel : par exemple, le transfert d’une image 256 2 × 4 bits prend 1.5 ms, ce qui estsupérieur dans certains cas à <strong>la</strong> durée du traitement <strong>de</strong> ces données par le processeur graphique, commenous l’avons pu voir dans les résultats expérimentaux du chapitre 5, page 123, notamment sur le tempsd’exécution <strong>de</strong> 0.65 ms <strong>de</strong> <strong>la</strong> di<strong>la</strong>tation par un disque en 4-voisinage <strong>de</strong> taille 1 <strong>pour</strong> une image <strong>de</strong> 1 Mo.Ces données représentent un aspect linéaire <strong>de</strong> croissance <strong>pour</strong> un volume <strong>de</strong> données transféréesgrandissant, cf. fig. 9.1(a), avec une déviation <strong>pour</strong> les images re<strong>la</strong>tivement petites (128 2 × 4) qui estperceptible à échelle logarithmique, cf. fig. 9.1(a).L’utilité du bus AGP <strong>pour</strong> le calcul GPGPU est discutable. Ce bus <strong>de</strong>vint obsolète avec l’arrivée dunouveau bus PCI Express. Il s’agit d’un bus sériel (AGP était un bus parallèle), il est symétrique et plus183

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

Saved successfully!

Ooh no, something went wrong!