Sub-Polyhedral Compilation using (Unit-)Two-Variables-Per-Inequality Polyhedra

Ramakrishna Upadrasta 1, 2, 3, 4
1 Parkas - Parallélisme de Kahn Synchrone
DI-ENS - Département d'informatique de l'École normale supérieure, ENS Paris - École normale supérieure - Paris, CNRS - Centre National de la Recherche Scientifique, Inria de Paris
Résumé : Notre étude de la compilation sous-polyédrique est dominée par l’introduction de la notion l’ordonnancement affine sous-polyédrique, pour laquelle nous proposons une technique utilisant des sous-polyèdres (U)TVPI. Dans ce cadre, nous introduisons des algorithmes capables de construire des sous-approximations de systèmes de contraintes résultant de problèmes d’ordonnancement affine. Cette technique repose sur des algorithmes polynomiaux simples pour approcher un polyèdre quelconque par un polyèdre (U)TVPI. Nos algorithmes sont suffisamment génériques pour s’appliquer à de nombreux problèmes d’ordonnancement, de parallélisation, et d’optimisation de boucles, réduisant leur complexité temporelle à des fonctions polynomiales. Nous introduisons également une méthode pour la génération de code utilisant des algorithmes sous-polyédriques, tirant parti de la faible complexité des sous-polyèdres (U)TVPI. Dans ce cadre, nous montrons comment réduire la complexité associée aux générateurs de code les plus populaires, ramenant la complexité de plusieurs facteurs exponentiels à des fonctions polynomiales. Nombre de ces techniques sont évaluées expérimentalement. Pour cela, nous avons réalisé une version modifiée du compilateur PLuTo, capable de paralléliser et d’optimiser des nids de boucles pour des architectures multi-cœurs à l’aide de transformations affines, et notamment de partitionnement (tiling). Nous montrons qu’une majorité des noyaux de calcul de la suite Polybench (2.0) peut être manipulée à l’aide de notre technique d’ordonnancement, en préservant la faisabilité des polyèdres lors des sous-approximations. L’utilisation des systèmes approchés par des sous-polyèdres conduit à des gains asymptotiques en complexité, qui se traduit par des réductions significatives en temps de compilation, par rapport à un solveur de programmation linéaire de référence. Nous vérifions également que le code généré par notre prototype de parallélisation sous-polyédrique est compétitif par rapport à la performance du code généré par Pluto.
Type de document :
Thèse
Other [cs.OH]. Université Paris Sud - Paris XI, 2013. English. <NNT : 2013PA112039>
Liste complète des métadonnées


https://tel.archives-ouvertes.fr/tel-00818764
Contributeur : Abes Star <>
Soumis le : lundi 29 avril 2013 - 09:47:11
Dernière modification le : vendredi 14 avril 2017 - 11:41:16
Document(s) archivé(s) le : mardi 4 avril 2017 - 01:37:31

Fichier

VD2_UPADRASTA_RAMAKRISHNA_1303...
Version validée par le jury (STAR)

Identifiants

  • HAL Id : tel-00818764, version 1

Collections

Citation

Ramakrishna Upadrasta. Sub-Polyhedral Compilation using (Unit-)Two-Variables-Per-Inequality Polyhedra. Other [cs.OH]. Université Paris Sud - Paris XI, 2013. English. <NNT : 2013PA112039>. <tel-00818764>

Partager

Métriques

Consultations de
la notice

766

Téléchargements du document

514