PhD opportunities

Performance Model for Automatic Program Optimizations

Thesis proposal

Area of expertiseReal-time computer science, robotics, systems and control - Fontainebleau
Doctoral SchoolSMI - Sciences des Mtiers de l'Ingnieur
SupervisorMme Corinne ANCOURT
Research unitMathematics and Systems
Keywordscompilation, parallel architecture, program optimization
AbstractThe objective of this thesis is to define performance models to guide automatic program optimizations for parallel machines coupling multi-core and GPUs.

The new parallel architectures being more efficient but more complex, program optimization becomes more and more laborious and expensive.

It is impossible to define a single program transformation recipe that would generate an optimal program, even for a single architecture. Each pair of application and architecture involves its own set of transformations to be applied to get closer to the optimal execution time of the program on a particular machine. In addition the set of possible transformation recipes is too large to be explored by the programmer, automatic tools are needed.

To guide the choice of transformations to be applied, application criteria and optimization cost functions must be defined. Because we cannot always measure those criteria, we use models. They must be established precisely in order to guide efficient decision-making and potentially serve as information for machine learning algorithms to define the optimization orchestration.

The aim of this thesis is to build performance models for the applications, as complete as possible, to help their mapping and optimization onto parallel architectures. Static and dynamic analyses could be used to collect some information such as the number of floating point operations, the number of memory operations, the bounds and depth of loops, the dependencies,.. Other parameters such as the estimation of cache miss and the memory fingerprint of loops have to be developed and refined in a parallel architectural context.

Based on the previous information, a methodology will be proposed to assist in the selection of appropriate program transformations that will improve chosen cost functions (execution time, memory footprint,..).
ProfileThis thesis requires a good knowledge and interest in compilation, computer architecture and code optimization.

Please send a CV, a motivation letter, the list of grades for your last academic year and 1 or 2 recommendation letters.
FundingConcours pour un contrat doctoral