Ph.D
Group : Parallel Systems
Multi-Architectural Support: A Generic and Generative Approach
Starts on 23/09/2010
Advisor : ROZOY, Brigitte
[Joël FALCOU]
Funding : contrat doctoral du Ministère
Affiliation : Université Paris-Saclay
Laboratory : LRI
Defended on 20/06/2014, committee :
Rapporteurs :
- Lawrence Rauchwerger, Professeur, Texas A&M University, Parasol Lab
- Phillipe Clauss, Professeur Université de Strasbourg, Equipes ICPS et CAMUS
Directrice de Thèse :
- Brigitte Rozoy, Professeur, Université Paris Sud
Examinateurs :
- Joël Falcou, Maître de Conférence, Université Paris Sud
- Sylvain Conchon, Professeur, Université Paris Sud
- Sylvain Jubertie, Maître de Conférence, Université d'Orléans, LIFO/PaMDA
Research activities :
Abstract :
The constant increasing need for computing power has pushed the development of
parallel architectures. Scientific computing relies on the performance of such
architectures to produce scientific results. Programming efficient
applications that takes advantage of these computing systems remains a non
trivial task.
In this thesis, we present a new methodology to design architecture aware
software: the AA-DEMRAL methodology. This methodology aims at simplifying the
development of parallel programming tools with multi-architectural support
through a generic and generative approach.
We then present three high level programming tools that rely on this ap-
proach. First, we introduce the Boost.Dispatch library that provides a way to
develop software based on the AA-DEMRAL methodology. The Boost.Dispatch
library is a C++ generic framework for architecture aware function
dispatching. Then, we present two C++ template libraries implemented as
Architecture Aware DSELs which assess the AA-DEMRAL methodology through the
use of Boost.Dispatch: Boost.SIMD, that provides a high level API for SIMD
extensions and NT2 , which propose a Matlab like interface with support for
multi-core and SIMD based systems. We assess the performance of these
libraries and the validity of our new methodology through benchmarks.