en fr Tools for automatic parallelization Outils pour la parallélisation automatique Reportar como inadecuado




en fr Tools for automatic parallelization Outils pour la parallélisation automatique - Descarga este documento en PDF. Documentación en PDF para descargar gratis. Disponible también para leer online.

1 LIP - Laboratoire de l-Informatique du Parallélisme

Abstract : 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.

Résumé : 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.

en fr

Keywords : automatic parallelization data parallelism loop nests optimization

Mots-clés : parallélisation automatique data-parallélisme High Performance Fortran nids de boucles compilation optimisation





Autor: Pierre Boulet -

Fuente: https://hal.archives-ouvertes.fr/



DESCARGAR PDF




Documentos relacionados