thesis

Outils pour la parallelisation automatique

Defense date:

Jan. 1, 1996

Edit

Disciplines:

Authors:

Directors:

Abstract EN:

Pas de résumé disponible.

Abstract FR:

La parallelisation automatique est une des approches visant a une plus grande facilite d'utilisation des ordinateurs paralleles. La parallelisation consiste a prendre un programme ecrit pour une machine sequentielle (qui n'a qu'un processeur) et de l'adapter a une machine parallele. L'interet de faire faire cette parallelisation automatiquement par un programme appele paralleliseur est qu'on pourrait alors reutiliser tout le code deja ecrit en fortran pour machine sequentielles, apres parallelisation, sur des machines paralleles. Nous n'y sommes pas encore, mais on s'en approche. C'est dans ce cadre que se situe mon travail. Une moitie approximativement de ma these est consacre a la realisation d'un logiciel qui parallelise automatiquement une classe reduite de programmes (les nids de boucles uniformes qui utilisent des translations comme acces aux tableaux de donnees) en hpf (high performance fortran). J'insiste surtout sur la partie generation de code hpf, qui est la partie la plus novatrice de ce programme. Outre la realisation de bouclettes, ma contribution au domaine est aussi theorique avec une etude sur un partitionnement des donnees appele pavage par des parallelepipedes et une etude de l'optimisation des calculs d'expressions de tableaux dans le langage high performance fortran. Le pavage est une technique permettant d'optimiser la taille des taches qu'on repartit sur les processeurs pour diminuer le temps passe en communications. L'evaluation d'expressions de tableaux est une etape d'optimisation du compilateur parallele (le programme qui traduit le code parallele ecrit dans un langage de haut niveau comme hpf en code machine directement executable par l'ordinateur parallele)