Etude d'outils logiciels pour la parallelisation et la transformation de programmes dans les applications de calculs numeriques
Institution:
Université Louis Pasteur (Strasbourg) (1971-2008)Disciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Ce travail vise a etudier l'adequation de divers outils de parallelisation s'inscrivant dans le cadre du parallelisme de donnees a l'ecriture, la transformation et la parallelisation de programmes de calculs scientifiques. Apres une premiere partie consacree a la presentation de deux outils, le deuxieme chapitre s'interesse a l'utilisation de pei, langage equationnel, pour la transformation de programmes et leur parallelisation : on montre comment ce langage permet de prendre un programme pour matrices pleines, et de le transformer en programme pour matrices creuses par la definition de quelques fonctions. La parallelisation du programme resultant s'en suit, grace a la representation basee sur l'alignement des donnees que permet ce langage. Dans une troisieme partie, on montre l'interet de la modelisation polyedrique des nids de boucles telle qu'elle est faite par le logiciel opera, en s'appuyant sur la parallelisation d'un code de mecanique des fluides. Ce type de modelisation permet en effet de representer visuellement le probleme, ce qui aide a la detection du parallelisme. D'autre part, nous montrons comment la modelisation mathematique sous-jacente permet de minimiser les communications dans ce probleme, par application de techniques d'optimisation d'acces a la memoire aux cas de communications. Une serie d'experimentations permet finalement de valider l'approche. Enfin, une derniere partie presente une comparaison entre deux outils pour la parallelisation de la factorisation de cholesky. L'un est axe sur une approche par parallelisme de donnees alors que l'autre propose une approche centree sur les instructions. Il s'avere que cette derniere approche permet une parallelisation automatique un peu meilleure, alors que la premiere propose une meilleure representation du programme en vue de sa comprehension.