• Aucun résultat trouvé

4.2 Consid´ erations algorithmiques

4.2.2 Parall´ elisation ` a grain moyen

Il ressort de diff´erentes architectures embarqu´ees d´etaill´ees pr´ec´edemment que la notion de machine SIMD est principalement exploit´ee dans le sens originel du terme, c’est-`a-dire en utilisant plusieurs processeurs fonctionnant en parall`ele et d´ecodant un mˆeme paquet d’instructions. Dans le cadre du traitement d’images, les architectures de type IMAPCar ne peuvent travailler qu’avec une taille pr´ed´etermin´ee d’image, contraignant les d´eveloppeurs, dans le cas d’image plus importante, de d´ecouper l’image en imagettes se recouvrant sur une certaine plage de pixels. La figure 4.9 montre ce principe pour une image d´ecoup´ee en 25 imagettes dont les tailles utiles varient en fonction de la position dans l’image ainsi qu’en fonction de la taille de la zone de recouvrement. Cette derni`ere est donc directement fonction du nombre d’op´erations de voisinage ainsi que de la taille du noyau ou de l’´el´ement structurant consid´er´e.

Cette d´ecoupe pose probl`eme puisqu’il n’est alors plus possible de simplement r´ealiser un certain nombre d’op´erations de voisinage successivement sur une mˆeme imagette si les zones de recouvrement ne sont pas suffisamment larges. Pour que les bords soient calcul´es correctement, il faut soit augmenter la taille des zones de recouvrement, soit r´ealiser une op´eration de voisinage sur toutes les imagettes avant de poursuivre avec une autre. Il est bien ´evidemment possible de combiner ces deux m´ethodes pour r´ealiser sur une imagette autant d’op´erations de voisinage que le recouvrement le permet, les autres op´erations seront calcul´ees une fois toutes les imagettes trait´ees.

La figure 4.10 pr´esente une caricature de ce qui peut se passer lorsque l’on it`ere, sur une mˆeme imagette, 15 ´erosions avec des ´el´ements structurants carr´es 3 × 3 alors que les bandes de recouvrement sont pr´evues pour une unique ´erosion avec ce mˆeme ´el´ement structurant. On remarque alors sur cette figure que les bords trait´es sur chacune des imagettes sont faux.

CHAPITRE 4. PROCESSEURS VLIW VECTORIELS

Fig. 4.9:Zones de recouvrement n´ecessaires au traitement d’une image par d´ecoupage en imagettes

L’exemple pr´esent´e ici est quelque peu caricatural, mais ce probl`eme se pose tout de mˆeme assez rapidement, comme dans le cas d’ouvertures morphologiques, ou encore dans le cadre de reconstructions g´eod´esiques. L’augmentation de la taille des zones de recouvrement provoque une augmentation du nombre d’imagettes et donc une augmentation du temps de calcul. Prenons l’exemple suivant : en consid´erant une image de dimension 506 × 506, nous pouvons mettre en place une d´ecoupe de l’image en 16 imagettes de dimensions 128 × 128 avec une zone de recouvrement de largeur 2 pixels. Cette zone de recouvrement permet de r´ealiser une op´eration de voisinage, telle qu’une ´erosion, avec un ´el´ement structurant de rayon unitaire. Si nous voulons r´ealiser deux ´erosions successivement dans chaque imagette, il faut ´elargir la zone de recouvrement `a quatre pixels provoquant, dans notre exemple, une augmentation du nombre de ces derni`eres `a traiter, passant ainsi de 16 `a 25. La figure 4.11 illustre ce point et montre que l’ajout d’une op´eration de voisinage par imagette provoque l’augmentation en nombre de ces derni`eres `a cause des zones de recouvrement devant ˆetre ´

elargies.

La figure 4.12 pr´esente l’efficacit´e d’un calcul d’une ou plusieurs op´erations de voisinage r´ealis´ees au niveau imagette. Cette courbe permet de mesurer la quantit´e de calcul r´ealis´e plusieurs fois ou effectu´e sur des donn´ees non pertinentes, par exemple hors de l’image. Trois tailles d’imagettes sont consid´er´ees et pourraient correspondre `a trois architectures SIMD compos´ees de 64, 128 ou 256 ´el´ements de calcul. `A chaque augmentation du nombre d’imagettes, on remarque dans le mˆeme temps une baisse de l’efficacit´e des calculs, car les imagettes contiennent moins de donn´ees utiles. Ce ph´enom`ene est accentu´e sur les bords car, si l’ajout d’une op´eration entraine une augmentation du nombre d’imagettes, la taille utile de ces derni`eres au bord de l’image est alors minimale et l’efficacit´e chute fortement. Ce ph´enom`ene est d’autant plus marqu´e que les imagettes ont une taille importante (cf courbes en pointill´es gris clair de la figure 4.12 pour un nombre d’op´erations ´egale `a 7).

Ces derniers graphiques montrent qu’il est difficile d’atteindre l’utilisation la plus ef- ficace d’une architecture reposant sur un traitement au niveau imagette. Plusieurs para- m`etres entrent en ligne de compte, comme la taille des images, la taille des imagettes et

(a) Image originale

(b) Zones de recouvrement bien ajust´ees (c) Zones de recouvrement trop faibles Fig. 4.10: Influence de la taille des zones de recouvrement lors de calculs d’op´erations de voisinage sur des imagettes

CHAPITRE 4. PROCESSEURS VLIW VECTORIELS

(a) Une op´eration par imagette (b) Deux op´erations par imagette Fig. 4.11: Nombre d’imagettes en fonction du nombre d’op´erations `a r´ealiser

le nombre d’op´erations `a r´ealiser au sein d’une mˆeme imagette. Il est difficile de toujours utiliser au mieux l’architecture et on observe le plus souvent une efficacit´e autour de 60 %, car il est difficile d’adapter la taille des imagettes ainsi que le nombre d’op´erations de voisinage pour des raisons architecturales.