Sub-polyhedral scheduling using (unit-)two-variable-per-inequality polyhedra - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2013

Sub-polyhedral scheduling using (unit-)two-variable-per-inequality polyhedra

Résumé

Polyhedral compilation has been successful in the design and implementation of complex loop nest optimizers and parallelizing compilers. The algorithmic complexity and scalability limitations remain one important weakness. We address it using sub-polyhedral under-aproximations of the systems of constraints resulting from affine scheduling problems. We propose a sub-polyhedral scheduling technique using (Unit-)Two-Variable-Per-Inequality or (U)TVPI Polyhedra. This technique relies on simple polynomial time algorithms to under-approximate a general polyhedron into (U)TVPI polyhedra. We modify the state-of-the-art PLuTo compiler using our scheduling technique, and show that for a majority of the Polybench (2.0) kernels, the above under-approximations yield polyhedra that are non-empty. Solving the under-approximated system leads to asymptotic gains in complexity, and shows practically significant improvements when compared to a traditional LP solver. We also verify that code generated by our sub-polyhedral parallelization prototype matches the performance of PLuTo-optimized code when the under-approximation preserves feasibility.
Fichier principal
Vignette du fichier
popl070-upadrasta.pdf (246.59 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-00911888 , version 1 (01-12-2013)

Identifiants

Citer

Ramakrishna Upadrasta, Albert Cohen. Sub-polyhedral scheduling using (unit-)two-variable-per-inequality polyhedra. POPL'13 - 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, Jan 2013, Rome, Italy. pp.483-496, ⟨10.1145/2429069.2429127⟩. ⟨hal-00911888⟩
568 Consultations
714 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More