Thèse soutenue

Génération automatique de code parallèle isochrone

FR  |  
EN
Auteur / Autrice : Thibaut Tachon
Direction : Frédéric Loulergue
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 28/06/2019
Etablissement(s) : Orléans
Ecole(s) doctorale(s) : École doctorale Mathématiques, Informatique, Physique Théorique et Ingénierie des Systèmes (Centre-Val de Loire ; 2012-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique fondamentale d'Orléans (Orléans ; 1987-....)
Jury : Président / Présidente : Franck Pommereau
Examinateurs / Examinatrices : Frédéric Loulergue, Franck Pommereau, John Mullins, Gaétan Hains, Wijnand Suijlen, Jean-Michel Couvreur
Rapporteurs / Rapporteuses : Franck Pommereau, John Mullins

Résumé

FR  |  
EN

Depuis la stagnation de la fréquence d’horloge des processeurs, l’accroissement de la puissance de calcul a dépendu entièrement de l’accroissement du nombre d’unités de calcul. Plus que la difficulté algorithmique impliquée par l’écriture de tout programme séquentiel, la programmation parallèle demande au programmeur de gérer de nombreuses unités de calcul, incluant leurs tâches et leurs interactions. Pour alléger le fardeau du programmeur, cette thèse propose deux approches différentes de génération automatique de code parallèle. Le modèle parallèle isochrone BSP possède des propriétés intéressantes telles que son modèle de coût qui en font la cible de notre génération de code parallèle. Les automates et expressions régulières sont souvent choisis pour modéliser les calculs séquentiels et leurs parallélisation devrait, à long terme, aboutir à de solides fondations pour la génération de code parallèle. Pour notre approche principale, nous développons la théorie des automates BSP avec leur génération et détermination. Cette théorie est utilisée dans une nouvelle méthode pour la recherche de motif à l’aide d’expressions régulières. Notre autre approche propose un langage spécifique au domaine des réseaux de neurones où la composition fonctionnelle d’un petit nombre de primitives facilite le développement, la maintenance et la définition formelle du langage par rapport aux approches existantes.