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

Private GIT Repository
ff8cdbcb59add2916cd89d358e3580cd271b68f7
[these_gilles.git] / THESE / Chapters / chapter1 / conclusion.tex
1 Les travaux présentés dans ce manuscrit partagent le même cadre et les mêmes objectifs, à savoir effectuer des opérations de filtrage ou de segmentation sur des images bruitées 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
4 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 GPUs, 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. Toute implémentation efficace requiert la conception de structures garantissant 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.
5
6 Dans tous les cas, les implémentations présentées ici sont le fruit d'une recherche approfondie et quasi-exhaustive de la meilleure utilisation des différents types de mémoire disponibles sur GPU. Nos travaux mettent en évidence des résultats qui ébranlent  le paradigme de la mémoire partagée comme unique chemin vers la performance. En effet, dans de nombreux cas, l'utilisation de la mémoire partagée s'avère pénalisante et le recours aux registres internes des c\oe urs de calcul se révèle bien plus efficace. 
7 L'optimisation des calculs n'est de surcroît pas le seul aspect dont l'implémentation doive être soignée. Nous avons ainsi optimisé les temps de transfert entre CPU et GPU pris en compte dans nos calculs de performances, contrairement à la plupart des articles de référence qui \og omettent\fg{} de les intégrer à leurs mesures.
8
9 L'algorithme de type \textit{snake} s'est avéré particulièrement délicat à implémenter efficacement sur GPU, la version parallèle ne surpassant la version séquentielle que pour des images de très grande taille. Les motifs d'accès à la mémoire demeurent beaucoup trop irréguliers pour être performants et conduisent à exécuter des grilles de calcul creuses ne permettant pas de masquer efficacement les latences. Toutefois, les modèles de GPU les plus récents, basés sur l'architecture Kepler, permettent d'entrevoir la possibilité de minimiser ce problème en recourant à  deux de leurs nouvelles fonctionnalités : la faculté d'exécuter simultanément plusieurs kernels et le parallélisme dynamique.
10
11 Nos travaux remettent également en cause l'idée trop souvent reçue que le simple portage d'applications séquentielles sur GPU permet systématiquement d'en décupler les performances. Certains algorithmes, tels le snake, font par exemple appel à des opérations de réduction sur des grilles de calcul creuses, et sont clairement peu adaptés aux GPUs. De plus, les algorithmes que l'on parvient à implémenter efficacement ne le sont qu'au prix d'optimisations particulièrement ardues.   
12
13 Beaucoup d'autres traitements sont susceptibles de bénéficier des performances toujours en hausse des cartes graphiques modernes. Certains n'ont pas encore été portés sur ces plateformes, d'autres l'ont été, mais n'atteignent pas toujours les performances attendues. Sur la base des techniques et savoir-faire que nous avons pu développer 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, avec des solutions adaptées tant aux évolutions des matériels qu'aux diverses problématiques scientifiques. 
14
15 À court terme, nous envisageons d'appliquer les techniques exposées ici aux algorithmes de traitement d'image qui font référence en termes de qualité, comme \textit{BM3D} ou \textit{level-sets}, qui nous paraissent susceptibles d'en tirer parti.  
16 Outre les performances obtenues dans le traitement des images 2-D, les résultats obtenus concernant la convolution séparable montrent que nos méthodes apportent aussi un gain de performances important sur les opérations 1-D, ce qui nous permettra d'étendre leur champ d'application à l'ensemble des signaux mono-dimensionnels comme les signaux audio. 
17 Enfin, le procédé d'exploitation des recouvrements de voisinages, d'autant plus efficace que ces recouvrements sont importants, ouvre des perspectives très prometteuses dans le traitement des images 3-D. Nous envisageons d'étendre nos recherches à ce domaine et à ses nombreuses applications, notamment l'interprétation des données issues de l'imagerie médicale.           
18