Cette thèse se propose d'explorer l'apport de la programmation générique au développement de générateur de code pour des algorithmes d'algèbre linéaire distribués sur cluster de multi-coeurs.
Context
La programmation générique et la programmation générative sont deux techniques en plein essors qui se donnent comme objectif de permettre une écriture souple et automatique de systèmes logiciels complexes — le plus souvent orientés métiers — à partir d'une quantité limitée de composant réutilisable et d'un combinateur permettant, via un jeu de règles idoines, de produire le composant désiré en limitant la taille du code initial. De tels systèmes ont montré leur efficacité et leur pertinence dans divers projets de calcul scientifique comme FFTW ou SPIRAL. Une extension de cette technique permet en outre d'intégrer ces générateurs au sein d'un langage généraliste, construisant ainsi un Langage Orienté Domaine Enfoui.
Objectives
Le but de cette thèse est de mener des travaux transversaux entre les activités orientées "HPC" et outils pour le parallélisme" de l'équipe PARALL du LRI. Son objectif est d'étudier la structure et les stratégies de parallélisation d'une nouvelle classe d'algorithmes d'algèbre linéaire dense ou creux afin d'en extraire un schéma générique, de le généraliser et de proposer un système automatique permettant leur parallélisation sur des architectures hybrides de types cluster de multi-coeurs au sein d'un framework de calcul parallèle existant en se basant sur les idiomes de la programmation générique et générative. La nouvelle classe des algorithmes à la propriété de minimiser les communications. Pour l'instant il existe seulement des implementations des algorithmes LU et QR pour des machines à mémoire distribuée et plus récemment pour des machines multicoeur. Ainsi une automatisation permettrait aussi une mise en oeuvre d'un nombre plus important de ces algorithmes numériques.
Work program
Le déroulement de la thèse suivra les jalons suivants:
Prise en main des systèmes de générations de code existant;
Développement d'un back-end de génération MPI pour NT2;
Analyse orientés concepts des entités présidant à la composition des algorithmes de types LU/QR sur matrices denses puis creuses;
Développement d'un module de génération pour ces algorithmes généralisés utilisant le back-end MPI et les back-end existant;
Applications à des cas concrets.
La réalisation du back-end distribué et la définition de nouveaux algorithmes génériques seront les deux jalons principaux qui permettront de valider à mi et fin de parcours les contributions de la thèse.
Extra information
Références:
J. Falcou, J. Sérot, L. Pech and J-T. Lapresté, Meta-programming applied to automatic SMP parallelization of linear algebra code, in Proceedings of EuroPar 208, p. 729-738, Aout 2008
L. Grigori, J. Demmel, and H. Xiang, Communication avoiding Gaussian elimination, Proceedings of the IEEE/ACM SuperComputing Conference 2008.
Prerequisite
Programmation Paralléle, MPI, C++, une expérience en développement logiciel, des notions en algèbre linéaire
Détails
Expected funding
Institutional funding
Status of funding
Expected
Candidates
Candidat pressenti Pierre Esterie - en stage LRI
Utilisateur
Créé
Lundi 22 février 2010 17:12:28 CET
dernière modif.
Mercredi 10 mars 2010 09:30:52 CET
Fichiers joints
filename
créé
hits
filesize
Aucun fichier joint à cette fiche
Connexion
Ecole Doctorale Informatique Paris-Sud
Directrice
Nicole Bidoit Assistante
Stéphanie Druetta Conseiller aux thèses
Dominique Gouyou-Beauchamps
ED 427 - Université Paris-Sud
UFR Sciences Orsay
Bat 650 - aile nord - 417
Tel : 01 69 15 63 19
Fax : 01 69 15 63 87
courriel: ed-info à lri.fr