Outils pour la parallélisation automatique - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 1996

Tools for automatic parallelization

Outils pour la parallélisation automatique

Pierre Boulet

Résumé

Automatic parallelization is one of the approaches aimed at a better and easier use of parallel computers. It consists in taking a program written for a sequential computer (which has only one processor) and to adapt it to a parallel computer. The interest to have a program, named a parallelizer, do this parallelization automatically is that we could reuse all the code already written in Fortran for sequential machines, after parallelization, on parallel machines. We are not there yet, but we are getting closer. My work ts in this framework. Approximately half of my thesis focuses on the realization of a software that automatically parallelizes a reduced class of programs (the uniform loop nests that use translations as data array accesses) into HPF (High Performance Fortran). I mainly discuss the HPF code generation which is the most innovative part of this program. Besides the realization of Bouclettes, my contribution to the domain is also theoretical with a study of a data partitioning technique called tiling and a study of the optimization of the evaluation of array expressions in High Performance Fortran. Tiling is a technique aimed at optimizing the size of the distributed tasks to reduce the communication time overhead. Array expression evaluation is an optimization step of the parallel compiler (the program that translates the parallel code written in a high level language as HPF into directly executable machine code for the parallel computer).
La parallélisation automatique est une des approches visant une plus grande facilité d'utilisation des ordinateurs parallèles. La parallélisation consiste prendre un programme écrit pour une machine séquentielle (qui n'a qu'un processeur) et de l'adapter une machine parallèle. L'intérêt de faire faire cette parallélisation automatiquement par un programme appelé paralléliseur est qu'on pourrait alors réutiliser tout le code déjà écrit en Fortran pour machine séquentielles, après parallélisation, sur des machines parallèles. Nous n'y sommes pas encore, mais on s'en approche. C'est dans ce cadre que se situe mon travail. Une moitié approximativement de ma thèse est consacrée à la réalisation d'un logiciel qui parallélise automatiquement une classe réduite de programmes (les nids de boucles uniformes qui utilisent des translations comme accès aux tableaux de données) en HPF (High Performance Fortran). J'insiste surtout sur la partie génération de code HPF, qui est la partie la plus novatrice de ce programme. Outre la réalisation de Bouclettes, ma contribution au domaine est aussi théorique avec une étude sur un partitionnement des données appelé pavage par des parallélépipèdes et une étude 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 tâches qu'on répartit sur les processeurs pour diminuer le temps passé en communications. L'évaluation d'expressions de tableaux est une étape d'optimisation du compilateur parallèle (le programme qui traduit le code parallèle écrit dans un langage de haut niveau comme HPF en code machine directement exécutable par l'ordinateur parallèle).
Fichier principal
Vignette du fichier
these.pdf (1.08 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00564899 , version 1 (10-02-2011)

Identifiants

  • HAL Id : tel-00564899 , version 1

Citer

Pierre Boulet. Outils pour la parallélisation automatique. Génie logiciel [cs.SE]. Ecole normale supérieure de lyon - ENS LYON, 1996. Français. ⟨NNT : ⟩. ⟨tel-00564899⟩
607 Consultations
295 Téléchargements

Partager

Gmail Facebook X LinkedIn More