Actualité - Annonce de Thèse

Date : 1 juillet 2021 14:00 - Alexis PEREDA - Visio-conférence

Application de la métaprogrammation template à la conception de bibliothèques actives de parallélisation assistée

L'écriture de programmes parallèles, par opposition aux programmes « classiques » séquentiels et n'utilisant donc qu'un processeur, est
devenue une nécessité.
En effet, si jusqu'au début du millénaire la puissance de calcul des ordinateurs dépendait principalement de la fréquence du processeur, elle
est maintenant liée au nombre de cœurs de calcul qui sont de plus en plus nombreux.
Pourtant, à cause des difficultés introduites par la parallélisation, la plupart des programmes sont toujours écrits de manière « classique ».
En particulier, il peut être compliqué de déterminer, étant donné une sous partie d'un programme, si la parallélisation est possible,
c'est-à-dire si elle n'introduira pas un changement de comportement du programme.
Cependant, même en sachant précisément ce qui peut être parallélisé, le faire correctement est aussi une tâche difficile.
Cette thèse présente deux approches pour simplifier l'écriture de programmes parallèles.

Nous proposons une première bibliothèque active − par métaprogrammation template, elle agit durant la compilation − qui acquiert des
informations à propos d'une portion de programme, correspondant àune boucle, au moyen de patrons d'expression.
Celles-ci sont utilisées pour analyser les instructions et identifier lesquelles peuvent être exécutées en parallèle, puis générer
automatiquement un programme adapté.

Nous proposons également une seconde bibliothèque, active elle aussi, orientée sur la parallélisation assistée en utilisant la technique des
squelettes algorithmiques comme interface pour le développeur.
Celle-ci permet de représenter des algorithmes complets comme des assemblages de motifs d'exécution : séquence de tâches ; exécution
répétée d'une tâche en parallèle ; ...
En utilisant cette connaissance, nous pouvons mettre en place des choix dans la manière de répartir les tâches exécutéesen parallèle sur les
différents processeurs.
Nous pouvons aussi garantir la répétabilité des exécutions, y compris lorsque, par exemple, les tâches utilisent des nombres pseudo-aléatoires.



Mots-clés : métaprogrammation template ; parallélisation automatique ; bibliothèques actives ; squelettes algorithmiques ; répétabilité.

 

Le jury est composé de :
Alexandre Guitton − Professeur des universités − Université Clermont Auvergne − Président
Joël Falcou       − Maître de conférences HDR  − Université Paris-Saclay      − Rapporteur
Françoise Baude   − Professeur des universités − Université Côte d'Azur       − Rapportrice
Éric Innocenti    − Maître de conférences      − Université de Corse          − Examinateur
Bruno Bachelet    − Maître de conférences HDR  − Université Clermont Auvergne − Directeur de thèse
David Hill        − Professeurdes universités − Université Clermont Auvergne − Co-directeur de thèse.

Invités :
Claude Mazel      − Maître de conférences      − Université Clermont Auvergne − Co-encadrant
Jian-Jin Li       − Maître de conférences      − Université Clermont Auvergne.