Mapping methodology for image processing applications on massively parallel architectures - Archive ouverte HAL Access content directly
Theses Year : 2019

Mapping methodology for image processing applications on massively parallel architectures

Méthodologie de placement d'algorithmes de traitement d'images sur architecture massivement parallèle

(1)
1

Abstract

In industries, the curse of image sensors for higher definitions increases the amount of data to be processed in the image processing domain. The concerned algorithms, applied to embedded solutions, also have to frequently accept real-time constraints. So, the main issues are to moderate power consumption, to attain high performance computings and high memory bandwidth for data delivery.The massively parallel conception of GPUs is especially well adapted for this kind of tasks. However, this achitecture is complex to handle. Some reasons are its multiple memory and computation hierachical levels or the usage of this accelerator inside a global heterogeneous architecture. Therefore, mapping algorithms on GPUs, while exploiting high performance capacities of this architecture, aren’t trivial operations.In this thesis, we have developped a mapping methodology for sequential algorithms and designed it for GPUs. This methodology is made up of code analysis phases, mapping criteria verifications, code transformations and a final code generation phase. Part of the defined mapping criteria has been designed to assure the mapping legality, by considering GPU hardware specifities, whereas the other part are used to improve runtimes. In addition, we have studied GPU memories performances and the capacity of GPU to efficiently support coarse grain parallellism. This complementary work is a foundation for further improvments of GPU resources exploitation inside this mapping methodology.Last, the experimental results have revealed the functional reliability of the codes mapped on GPU and a speedup on the runtime of many C and C++ image processing applications used in industry.
Dans le secteur industriel, la course à l’amélioration des définitions des capteurs vidéos se répercute directement dans le domaine du traitement d’images par une augmentation des quantités de données à traiter. Dans le cadre de l’embarqué, les mêmes algorithmes ont fréquemment pour contrainte supplémentaire de devoir supporter le temps réel. L’enjeu est alors de trouver une solution présentant une consommation énergétique modérée, une puissance calculatoire soutenue et une bande passante élevée pour l’acheminement des données.Le GPU est une architecture adaptée pour ce genre de tâches notamment grâce à sa conception basée sur le parallélisme massif. Cependant, le fait qu’un accélérateur tel que le GPU prenne place dans une architecture globale hétérogène, ou encore ait de multiples niveaux hiérarchiques, complexifient sa mise en œuvre. Ainsi, les transformations de code visant à placer un algorithme sur GPU tout en optimisant l’exploitation des capacités de ce dernier, ne sont pas des opérations triviales. Dans le cadre de cette thèse, nous avons développé une méthodologie permettant de porter des algorithmes sur GPU. Cette méthodologie est guidée par un ensemble de critères de transformations de programme. Certains d’entre-eux sont définis afin d’assurer la légalité du portage, tandis que d’autres sont utilisés pour améliorer les temps d’exécution sur cette architecture. En complément, nous avons étudié les performances des différentes mémoires ainsi que la gestion du parallélisme gros grain sur les architectures GPU Nvidia.Ces travaux sont une étape préalable à l’ajout de nouveaux critères dans notre méthodologie, visant à maximiser l’exploitation des capacités de ces GPUs. Les résultats expérimentaux obtenus montrent non seulement la fiabilité du placement mais aussi une accélération des temps d’exécution sur plusieurs applications industrielles de traitement d’images écrites en langage C ou C++.
Fichier principal
Vignette du fichier
2019PSLEM075_archivage.pdf (6.07 Mo) Télécharger le fichier
Origin : Version validated by the jury (STAR)
Loading...

Dates and versions

tel-02969012 , version 1 (16-10-2020)

Identifiers

  • HAL Id : tel-02969012 , version 1

Cite

Florian Gouin. Méthodologie de placement d'algorithmes de traitement d'images sur architecture massivement parallèle. Traitement des images [eess.IV]. Université Paris sciences et lettres, 2019. Français. ⟨NNT : 2019PSLEM075⟩. ⟨tel-02969012⟩
118 View
306 Download

Share

Gmail Facebook Twitter LinkedIn More