Thèse soutenue

Optimisation multi-niveau d’une application de traitement d’images sur machines parallèles

FR  |  
EN
Auteur / Autrice : Tarik Saidani
Direction : Alain Mérigot
Type : Thèse de doctorat
Discipline(s) : Physique
Date : Soutenance le 06/11/2012
Etablissement(s) : Paris 11
Ecole(s) doctorale(s) : Ecole doctorale Sciences et Technologies de l'Information, des Télécommunications et des Systèmes (Orsay, Essonne ; 2000-2015)
Partenaire(s) de recherche : Institut : Institut d'électronique fondamentale (Orsay, Essonne ; 19..-2016)
Jury : Président / Présidente : Patrick Garda
Examinateurs / Examinatrices : Alain Mérigot, Patrick Garda, Jocelyn Sérot, François Irigoin, Lionel Lacassagne, François Verdier
Rapporteurs / Rapporteuses : Jocelyn Sérot, François Irigoin

Résumé

FR  |  
EN

Cette thèse vise à définir une méthodologie de mise en œuvre d’applications performantes sur les processeurs embarqués du futur. Ces architectures nécessitent notamment d’exploiter au mieux les différents niveaux de parallélisme (grain fin, gros grain) et de gérer les communications et les accès à la mémoire. Pour étudier cette méthodologie, nous avons utilisé un processeur cible représentatif de ces architectures émergentes, le processeur CELL. Le détecteurde points d’intérêt de Harris est un exemple de traitement régulier nécessitant des unités de calcul intensif. En étudiant plusieurs schémas de mise en oeuvre sur le processeur CELL, nous avons ainsi pu mettre en évidence des méthodes d’optimisation des calculs en adaptant les programmes aux unités spécifiques de traitement SIMD du processeur CELL. L’utilisation efficace de la mémoire nécessite par ailleurs, à la fois une bonne exploitation des transferts et un arrangement optimal des données en mémoire. Nous avons développé un outil d’abstraction permettant de simplifier et d’automatiser les transferts et la synchronisation, CELL MPI. Cette expertise nous a permis de développer une méthodologie permettant de simplifier la mise en oeuvre parallèle optimisée de ces algorithmes. Nous avons ainsi conçu un outil de programmation parallèle à base de squelettes algorithmiques : SKELL BE. Ce modèle de programmation propose une solution originale de génération d’applications à base de métaprogrammation. Il permet, de manière automatisée, d’obtenir de très bonnes performances et de permettre une utilisation efficace de l’architecture, comme le montre la comparaison pour un ensemble de programmes test avec plusieurs autres outils dédiés à ce processeur.