Menu:

Info:

The MOAIS Project is part of the LIG together with the MESCAL Project.

Institutions:

LIG
CNRS
Grenoble INP
INRIA
UJF
UPMF

Génération automatique de programmes parallèles "adaptatifs"

Description du sujet

La programmation des architectures multi-cœurs est complexe. D'une part le programmeur doit connaitre finement l'architecture afin d'exploiter la performance du matériel. D'autre part, le programmeur doit prendre des décisions importantes concernant le "grain" du calcul parallèle qui ne permettent pas forcément d'assurer la portabilité d'une solution sur différentes architectures. Typiquement, un grain de calcul trop petit peu ne pas être suffisant pour exploiter efficacement les capacités de calcul matériel ; inversement, un grain trop important réduit le parallélisme exploitable.

Dans ce contexte, le projet MOAIS a développé une manière originale de programmer les applications parallèles en leur permettant de décrire la manière d'extraire le parallélisme en fonction de l'inactivité des ressources. Cette approche, appelée programmation d'algorithmes adaptatifs, permet de limiter le surcoût dû à la gestion du parallélisme, en particulier celui lié au nombre de tâches à gérer. Cette approche a été validée de manière ad hoc sur l'ensemble des algorithmes de la STL.

Objectif du stage

L'objectif de ce stage est l'étude des techniques afin de passer automatiquement d'une description d'un programme sous forme d'un nid de boucles à une version adaptative parallèle. Des hypothèses simplificatrices sur la structure des nids de boucles seront à prendre.

Les résultats obtenus auront pour objectif à moyen terme à être intégrés dans la chaine de compilation développée par MOAIS pour programmer des algorithmes parallèles.

Résultats attendus

Une étude bibliographique. Réalisation d'un prototype et son évaluation sur différentes machines multi-cœurs.

Compétences

Très bonnes connaissances de la programmation C ou C++. Connaissances en algorithmique parallèle et programmation parallèle. Connaissances en compilation appréciées mais non requises.

Liens

CLOOG: http://www.cloog.org/

Back to job offers