Thèse soutenue

Langages explicites à parallélisme de données

FR  |  
EN
Auteur / Autrice : Philippe Marquet
Direction : Jean-Luc Dekeyser
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 1992
Etablissement(s) : Lille 1

Mots clés

FR

Mots clés contrôlés

Résumé

FR

Les travaux présentés sont relatifs à la proposition d'outils pour l'expression des algorithmes à parallélisme de données et à l'implantation de ces outils. Nous introduisons une notion de langage explicite à parallélisme de données ne recouvrant pas la seule manipulation explicite de données parallèles, mais intégrant aussi les moyens pour le programmeur d'exprimer des informations complémentaires pouvant être prises en compte par le compilateur pour la production de code de bonne qualité. La conception du langage EVA est faite suivant cette voie. Cela nous a amené à l'implantation d'une notion puissante de vecteur, intégrant les opérations classiques de description, et d'un ensemble de constructions découlant sur une génération de code simple et efficace. Deux types d'architectures sont à même de fournir les performances de l'ordre de celles attendues par les scientifiques. Il s'agit de celle des machines pipelines vectorielles et de celle des machines massivement parallèles. Nous caractérisons nombre de points communs entre les modes de fonctionnement des deux types d'architectures et proposons la prise en compte de ces machines sous un angle unique au sein du langage LSD2. LSD2 est bâti autour d'une notion de vecteur incluant des spécifications fournies par le programmeur, dont la distribution, l'alignement, et les dépendances entre les différents accès aux éléments du vecteur. Différentes classes de dépendances partielles ont été introduites. Elles ne sont pas spécifiques à LSD2, mais peuvent être reprises dans les autres langages à parallélisme de données. Leurs conséquences sur les performances du code généré sont justifiées par la présentation de tests sur Cray Y-MP