Optimisation des performances et profilage d'algorithmes de traitement d'images sur architectures parallèles

par Florian Gouin

Projet de thèse en Informatique temps réel, robotique et automatique - Fontainebleau

Sous la direction de Francois Irigoin et de Corinne Ancourt.

Thèses en préparation à Paris Sciences et Lettres , dans le cadre de Ingénierie des Systèmes, Matériaux, Mécanique, Énergétique , en partenariat avec Mathématiques et Systèmes (laboratoire) , CRI - Centre de Recherche en Informatique (equipe de recherche) et de École nationale supérieure des mines (Paris) (établissement de préparation de la thèse) depuis le 01-10-2014 .


  • Résumé

    L'objectif de cette thèse est d'étudier la parallélisation hybride, sur de multiples CPUs et/ou GPUs, d'algorithmes de traitement d'images de géolocalisation à partir d'un ou plusieurs flux vidéos géo-référencés produits par un véhicule, une plateforme ou un système d'imagerie fixe. Les techniques dites de SLAM (Simultaneous Localisation and Mapping), ou navigation et localisation simultanées, sont maintenant suffisamment matures pour être exploitées dans des benchmarks. Or, embarquer ce type de solution à bord d'un véhicule, d'un robot ou drone nécessite de maîtriser parfaitement les contraintes temps-réel et d'exploiter de façon optimale l'architecture parallèle de l'environnement d'exécution. Pour cela, l'algorithme doit être parallélisé efficacement, ce qui requiert l'analyse des dépendances, l'application de transformation de code et la maîtrise de l'architecture ciblée. Après l'étude de l'état de l'art en calcul parallèle, une méthodologie de conception sera proposée par l'étudiant. Cette méthodologie inclura l'utilisation de plusieurs outils d'ingénierie (analyseur de code, optimiseur, profiler) ainsi qu'une modélisation du code (C ou Matlab) en tant qu'illustration. Ces travaux de recherche se concentreront en particulier sur : - le choix et l'application des modalités de compilation : choix des dépendances à utiliser, des transformations à appliquer et de la structure du code à générer ; - l'évaluation du temps et de la puissance de calcul requis sur des modèles d'architectures cibles. Ces différentes fonctions devront être programmées de manière à rendre aisée l'utilisation de plusieurs CPUs et/ou GPUs. L'automatisation des diverses transformations et optimisations de codes pour une ou plusieurs architectures d'exécution seront aussi étudiées. La thèse est co-encadrée par le CRI de MINES ParisTech et SAGEM.

  • Titre traduit

    Performance optimization and profiling of image processing algorithms on parallel architectures


  • Résumé

    The thesis objective is to explore the hybrid parallelization over multiple CPUs and / or GPUs of image processing algorithms for geolocalisation based on one or several geo-referenced video streams produced by a vehicle, platform or fixed imager. Techniques known as Visual Simultaneous Localization And Mapping (V-SLAM) or target detection and localisation algorithms are now mature enough to be used as benchmarks. However, embedding this type of solution in a deployed system, vehicle, robot or drone requires a perfect control of real-time constraints and an optimised use of the parallel architecture. To do so, the algorithm needs to be efficiently parallelized and this requires several analyses of code dependencies (instruction or procedural levels) and appropriate code transformations and generation techniques while mastering the target architecture capabilities. After reviewing the state of the art in parallel computing, a design methodology will be proposed by the student. This also includes the use of several engineering tools (code analyser, optimisers, profilers), as well as including code implementation (in C or Matlab) as illustrations. In particular, the research will focus on: - selecting and applying the appropriate compilation steps: dependencies to be used, transformations to apply and code structure to generate; - managing application latencies and computing power with respect to the target architecture. These functions would need to be programmed to ease the use of multiple CPUs and / or GPUs. The automation of various transformations and the code optimization for one or more execution architectures will also be studied. CRI of MINES ParisTech and Sagem will co-advise this thesis.