Thèse soutenue

Outils de parallelisation automatique des programmes denses pour les structures creuses

FR
Auteur / Autrice : ROXANE ADLE
Direction : Jean-Claude König
Type : Thèse de doctorat
Discipline(s) : Sciences et techniques
Date : Soutenance en 1999
Etablissement(s) : Evry-Val d'Essonne

Résumé

FR

La programmation parallele d'algorithmes d'algebre lineaire sur les architectures paralleles a ete etudiee pour resoudre des systemes denses. Les etudes menees sur les outils de compilation et sur les methodes algorithmes cernent le probleme et proposent des solutions adaptees aux machines paralleles. Sur des tailles de problemes suffisantes, les machines paralleles offrent une alternative aux machines vectorielles qui sont reconnues pour leur efficacite de traitement sur ce type de problemes. Le but de ce travail est de paralleliser des programmes sequentiels utilisant des structures de donnees denses et obtenir des programmes paralleles possedant des structures de donnees creuses. Ce qui a motive ces recherches est que les calculs sur les matrices creuses contiennent plus de parallelisme que les memes calculs effectues sur des matrices denses. Cette propriete existe a cause de la valeur nulle de certains elements et a pour consequence l'elimination de certaines dependances. En effet, le calcul de dependance est base sur le calcul d'un acces memoire commune a deux instructions. Il est possible de raffiner cette notion en y incluant la notion de la modification d'etat. Effectivement, si l'execution de l'une des deux instructions ne modifie pas l'etat de la cellule, alors la dependance peut etre brisee. Dans le cadre du creux, ce type de parallelisme specifique peut etre utilise a cause des proprietes d'absorption et de neutralite de zero. Cependant, le calcul des dependances sur les programmes possedant une structure de donnees creuse est difficile a cause des indirections dans ces dernieres. Dans ce travail, ce probleme a ete contourne en faisant le calcul des dependances sur le programme dense tout en prenant en compte la structure de la matrice creuse pour detecter les dependances inutiles. De cette maniere, un graphe de dependance plus reduit que celui calcule avec les conditions de bernstein a ete obtenu. Apres ces calculs, le programme ainsi que la matrice creuse sont donnes au compilateur creux mt1 (de bik et wishoff a l'universite de leiden, hollande) et est transforme en un programme creux parallele.