Sub-polyhedral scheduling using (unit-)two-variable-per-inequality polyhedra - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2013

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


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
Origin : Files produced by the author(s)

Dates and versions

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



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⟩
567 View
704 Download



Gmail Facebook X LinkedIn More