]> AND Private Git Repository - these_gilles.git/blob - THESE/Chapters/chapter1/conclusion.tex~
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
final avant rapport
[these_gilles.git] / THESE / Chapters / chapter1 / conclusion.tex~
1 Les travaux que nous avons présentés dans ce manuscrit ont partagé les même cadre et objectifs, à savoir effectuer des opérations de filtrage et de segmentation sur des images bruitées et ce, en exploitant au mieux les capacités de traitement des GPUs. 
2 Comme le laissait entrevoir notre intuition première, ces traitements présentent des propriétés de parallélisme très diverses, conduisant à des implémentations plus ou moins efficaces sur GPU. 
3 Certains algorithmes, comme le filtrage contraint par les lignes de niveaux, ont pu voir leur objectif opérationnel conservé en adaptant les modèles aux caractéristiques particulières des GPU, ce qui a permis d'atteindre des niveaux de performance élevés. Pour d'autres opérations plus classiques, comme les filtrages médian ou de convolution, la problématique est autre, puisqu'il s'agit d'effectuer des traitements de référence ayant une définition mathématique clairement établie. L'implémentation efficace doit alors passer par la conception de structures permettant de garantir l'exactitude du calcul tout en optimisant l'utilisation du GPU. Nous avons, dans ce domaine, contribué significativement à l'amélioration des performances, en approchant du maximum permis par nos architectures de test.
4
5 Dans les deux cas, l'implémentation présentée ici a été le fruit d'une recherche en profondeur et la plus exhaustive possible, afin de déterminer la meilleure utilisation des différents types de mémoire du GPU. Les itérations pour converger vers la solution optimale ont été nombreuses mais ont clairement permis de mettre en relief certains principes qui ébranlent la paradigme de la mémoire partagée comme chemin unique vers la performance. Il existe des cas où cette dernière est pénalisante et où le recours aux registres internes des c\oe urs de calcul s'avère bien plus efficace. 
6 L'optimisation des calculs n'est de surcroît pas le seul aspect dont l'implémentation doive être soignée. La plupart des articles de référence \og omettent\fg{} d'intégrer les temps de transfert CPU$\leftarrow\rightarrow$GPU dans leurs mesures, ce qui n'est pas le cas ici
7
8 L'algorithme de type \textit{snake} s'est avérée tout aussi délicat à implémenter sur GPU, mais beaucoup plus difficile à rendre performant. Il faut que les images soient de très grandes dimensions pour que la version parallèle surpasse la version séquentielle. Les motifs d'accès à la mémoire demeurent beaucoup trop irréguliers pour être performants et le fait que la distribution des données sur les threads conduit à une structure creuse des grilles de calcul ne permet pas de masquer efficacement les latences diverses. L'architecture des modèles de GPU les plus récents, basés sur l'architecture Kepler, nous laisse toutefois entrevoir la possiblité de minimiser le problème de grilles creuses en recourant à deux nouvelles fonctionnalités que sont la faculté d'exécution simultanée de plusieurs kernels ainsi qu'au parallélisme dynamique.
9
10 Nos travaux remettent également en cause l'idée trop souvent reçue du GPU \textit{tout puissant}. Certains algorithmes, tels le snake, faisant appel à des opérations de réduction sur des grilles de calcul creuses, sont clairement peu adaptés au GPU. De plus, ceux qui s'avèrent l'être, ne parviennent à bénéficier d'une implémentation efficace qu'au prix d'optimisation requérant une grande expertise.
11 On est donc très loin d'une solution véritablement \og démocratique\fg{} que tout un chacun pourrait utiliser pour décupler les performances de ses programmes à moindre effort. Pour quelques temps encore, l'implémentation sur GPU restera l'apanage de spécialistes du calcul parallèle hautes performances.  
12
13 Beaucoup d'autres traitements sont susceptibles de bénéficier des performances toujours en hausse des GPU, mais même parmi les plus populaires, la plupart n'atteignent pas encore les vitesses espérées. Sur la base des techniques et savoirs-faire que nous avons pu affiner durant ces années de thèse, il est permis de penser que nous pourrons à l'avenir contribuer à améliorer significativement cet état de fait, en continuant de proposer des techniques adaptées tant aux évolutions des matériels qu'à diverses problématiques scientifiques. En effet, les résultats obtenus dans le domaine des filtres de convolution et en particulier concernant la convolution séparable, montrent par exemple que nos techniques apportent un gain de performances important sur l'opération à une dimension. Cela permet d'étendre leur champ d'application au traitement des signaux mono dimensionnels comme les signaux audio. L'extension aux données volumiques paraît beaucoup plus naturelle et les applications nombreuses, en particulier dans le domaine de l'imagerie médicale.