Skip to Main content Skip to Navigation
Conference papers

Automatic task-based parallelization of C++ applications by source-to-source transformations

Garip Kusoglu 1, 2 Bérenger Bramas 1, 2 Stéphane Genaud 2
1 CAMUS - Compilation pour les Architectures MUlti-coeurS
Inria Nancy - Grand Est, ICube - Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie
Abstract : Currently, multi/many-core CPUs are considered standard in most types of computers including , mobile phones, PCs or supercomputers. However, the parallelization of applications as well as refactoring/design of applications for efficient hardware usage remains restricted to experts who have advanced technical knowledge and who can invest time tuning their software. In this context, the compilation community has proposed different methods for automatic pa-rallelization, but their focus is traditionally on loops and nested loops with the support of polyhedral techniques. In this study, we propose a new approach to transform sequential C++ source code into a task-based parallel one by inserting annotations. We explain the different mechanisms we used to create tasks at each function/method call, and how we can limit the number of tasks. Our method can be implemented on top of the OpenMP 4.0 standard. It is compiler-independent and can rely on external well-optimized OpenMP libraries. Finally, we provide preliminary performance results that illustrate the potential of our method.
Complete list of metadatas

Cited literature [33 references]  Display  Hide  Download

https://hal.inria.fr/hal-02867413
Contributor : Bérenger Bramas <>
Submitted on : Sunday, June 14, 2020 - 10:48:59 AM
Last modification on : Wednesday, June 17, 2020 - 4:26:10 PM

File

apac2020.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-02867413, version 1

Citation

Garip Kusoglu, Bérenger Bramas, Stéphane Genaud. Automatic task-based parallelization of C++ applications by source-to-source transformations. Compas 2020, Jun 2020, Lyon, France. ⟨hal-02867413⟩

Share

Metrics

Record views

132

Files downloads

179