Marc Le Fur
Juillet 1995
Nous présentons un schéma de compilation efficace pour une classe de nids de boucles appelés nids commutatifs. On désigne par là des nids de boucles parfaitement imbriquées comportant une seule affectation dont toutes les instances peuvent commuter cad s'exécuter dans n'importe quel ordre. La classe comprend les boucles parallèles comportant une affectation ainsi que les réductions. Les nids commutatifs constituent fréquemment la structure de contrôle de base dans les applications scientifiques régulières et peuvent de plus être produits par des transformations connues en parallélisation automatique.
Après avoir défini le contexte du travail, la génération de code pour les nids commutatifs est présentée. Nous montrons que les différents codes produits - codes de communication et de calcul - peuvent être caractérisés par un certain nombre de polyèdres. Les algorithmes qui servent de base à la génération de code sont ensuite décrits et concernent le calcul de structures de contrôle dont l'exécution énumère les vecteurs entiers de polyèdres. Le schéma de compilation a été mis en oeuvre au sein du compilateur Pandore ; les expérimentations effectuées montrent l'intérêt du schéma de compilation et de l'exécutif sous-jacent. Enfin, un certain nombre de perspectives sont envisagées dans le cadre du langage HPF.