Evaluation of automatic parallelization strategies for HPF compilers
Résumé
In the data parallel programming style the user usually specifies the data parallelism explicitly so that the compiler can generate efficient code without enhanced analysis techniques. In some situations it is not possible to specify the parallelism explicitly or this might be not very convenient. This is especially true for loop nests with data dependences between the data of distributed dimensions. In the case of uniform loop nests there are scheduling, mapping and partitioning techniques available. Some different strategies have been considered and evaluated with existing High Performance Fortran compilation systems. This paper gives some experimental results about the performance and the benefits of the different techniques and optimizations. The results are intended to direct the future development of data parallel compilers.
Dans le style de programmation data-parallèle, l'utilisateur spécifie habituellement le data-parallélisme explicitement de façon à permettre au compilateur de générer du code efficace sans techniques d'analyse avancées. Dans certaines situations, il n'est pas possible de spécifier le parallélisme explicitement ou ce n'est pas très pratique. C'est particulièrement vrai dans le cas des nids de boucles avec des dépendances entre les données des dimensions réparties. Dans le cas des nids de boucles uniformes, des techniques d'ordonnancement, d'allocation et de partitionnement sont disponibles. Des stratégies différentes ont été considérées et évaluées avec des systèmes de compilation d'High Performance Fortran existants. Ce rapport donne des résultats expérimentaux de performance et quantifie les bénéfices apportés par les différentes techniques et optimisations. Ces résultats ont pour but d'orienter le développement futur des compilateurs data-parallèles.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...