11.3.3.2 : Indépendances des éléments



nothing

Figure 40 : À gauche : opération complètement vectorisée. À droite : opération non-vectorisée due à la présence d'une dépendance arrière entre les éléments.



La vectorisation d'un calcul sur plusieurs éléments d'un tableau, implique que ces éléments doivent être indépendants. Sinon le calcul sur un élément $n$ devra attendre le résultat du calcul sur l'élément $n-1$ (voir figure 40).



Dans la plupart des cas, ce problème de dépendance arrière peut être résolu en changeant l'organisation des données ou l'ordre des opérations.

Par exemple, si l'on souhaite effectuer la somme des éléments d'un vecteur, le calcul du résultat pour l'élément $n$ dépend de celui sur l'élément $n-1$ . Mais cette dépendance arrière apparente peut être contournée en changeant l'ordre selon lequel les éléments seront additionnés. La figure 41 montre comment vectoriser complètement la somme des éléments d'un tableau en utilisant plusieurs accumulateurs différents.

nothing

Figure 41 : Suppression de la dépendance arrière liée à la somme des éléments d'un vecteur (image tirée de [54]Informatique Hautes Performances pour la détection de rayons gammas, 2018, Aubert, Pierre).