Compilation efficace d'applications de traitement d'images pour processeurs manycore

Abstract : Many mobile devices now integrate optic sensors; smartphones, tablets, drones... are foreshadowing an impending Internet of Things (IoT). New image processing applications (filters, compression, augmented reality) are taking advantage of these sensors under strong constraints of speed and energy efficiency. Modern architectures, such as manycore processors or GPUs, offer good performance, but are hard to program.This thesis aims at checking the adequacy between the image processing domain and these modern architectures: conciliating programmability, portability and performance is still a challenge today. Typical image processing applications feature strong, inherent parallelism, which can potentially be exploited by the various levels of hardware parallelism inside current architectures. We focus here on image processing based on mathematical morphology, and validate our approach using the manycore architecture of the Kalray MPPA processor.We first prove that integrated compilation chains, composed of compilers, libraries and run-time systems, allow to take advantage of various hardware accelerators from high-level languages. We especially focus on manycore processors, through various programming models: OpenMP, data-flow language, OpenCL, and message passing. Three out of four compilation chains have been developed, and are available to applications written in domain-specific languages (DSL) embedded in C or Python. They greatly improve the portability of applications, which can now be executed on a large panel of target architectures.Then, these compilation chains have allowed us to perform comparative experiments on a set of seven image processing applications. We show that the MPPA processor is on average more energy-efficient than competing hardware accelerators, especially with the data-flow programming model. We show that compiling a DSL embedded in Python to a DSL embedded in C increases both the portability and the performance of Python-written applications.Thus, our compilation chains form a complete software environment dedicated to image processing application development. This environment is able to efficiently target several hardware architectures, among them the MPPA processor, and offers interfaces in high-level languages.
Document type :
Theses
Complete list of metadatas

Cited literature [92 references]  Display  Hide  Download

https://pastel.archives-ouvertes.fr/tel-01531196
Contributor : Abes Star <>
Submitted on : Thursday, June 1, 2017 - 12:26:09 PM
Last modification on : Friday, July 26, 2019 - 5:47:05 PM
Long-term archiving on : Wednesday, September 6, 2017 - 6:35:26 PM

File

2016PSLEM022_archivage.pdf
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-01531196, version 1

Citation

Pierre Guillou. Compilation efficace d'applications de traitement d'images pour processeurs manycore. Ordinateur et société [cs.CY]. PSL Research University, 2016. Français. ⟨NNT : 2016PSLEM022⟩. ⟨tel-01531196⟩

Share

Metrics

Record views

1443

Files downloads

2697