Thèse soutenue

Un paradigme de programmation multi-niveaux pour le calcul numérique sur les machines post-petascales et exascales

FR  |  
EN
Auteur / Autrice : Maxime Hugues
Direction : Serge PetitonJean-Patrick Mascomère
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 13/05/2011
Etablissement(s) : Lille 1
Ecole(s) doctorale(s) : École doctorale Sciences pour l'ingénieur (Lille)
Partenaire(s) de recherche : Entreprise : Total (1924-1999)

Résumé

FR  |  
EN

L'arrivée des supercalculateurs post-petascales and exascales offre la perspective d'accélérer la résolution des problèmes d'ingénierie et aux modélisations hautement complexes. Cependant, ces futurs systèmes posent des problèmes aux informaticiens pour construire de telles machines. De nombreux problèmes doivent être résolus comme la tolérance aux pannes, la consommation énergétique et la programmation de ces systèmes complexes composés de milliard de coeurs.Dans cette thèse, nous nous sommes concentrés sur l'aspect programmation et proposons un paradigme de programmation multi-niveaux composé de trois niveaux. Pour le bas niveau, un paradigme data parallèle est proposé pour programmer les processeurs à nombreux coeurs pour sa focalisation sur la distribution et le mouvement des données. Nous avons implémenté et évalué le produit matrice vecteur creux suivant différents formats de matrice creuse sur un GPU pour illustrer ce point. Pour le niveau intermédiaire, nous proposons un paradigme à passage de messages de manière à optimiser les communications inter-processeurs et inter-noeuds. Pour le haut niveau, un paradigme de description de graphe est proposé pour programmer et gérer le parallélisme entre les noeuds.Avec une méthode d'inversion matricielle dense développée en YML, nous soulignons l'intérêt des graphes pour la réduction du temps à la solution et pour le support des communications asynchrones de facon transparente. L'intérêt des graphes est également démontré pour les optimisations d'entrées/sorties et leur support dans un modèle de programmation. Nous concluons finalement en analysant une telle proposition de paradigme de programmation pour les machines exascale et présentons la direction des travaux futurs.