ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

Loop transformations: convexity, pruning, and optimization

Pouchet, Louis-Noel and Bondhugula, Uday and Bastoul, Cedric and Cohen, Albert and Ramanujam, J and Sadayappan, P and Vasilache, Nicolas (2011) Loop transformations: convexity, pruning, and optimization. In: POPL '11 Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages, 2011, New York, NY, USA.

[img] PDF
Pri_Pro_lan_549_2011.pdf - Published Version
Restricted to Registered users only

Download (481kB) | Request a copy
Official URL: http://dx.doi.org/10.1145/1926385.1926449

Abstract

High-level loop transformations are a key instrument in mapping computational kernels to effectively exploit the resources in modern processor architectures. Nevertheless, selecting required compositions of loop transformations to achieve this remains a significantly challenging task; current compilers may be off by orders of magnitude in performance compared to hand-optimized programs. To address this fundamental challenge, we first present a convex characterization of all distinct, semantics-preserving, multidimensional affine transformations. We then bring together algebraic, algorithmic, and performance analysis results to design a tractable optimization algorithm over this highly expressive space. Our framework has been implemented and validated experimentally on a representative set of benchmarks running on state-of-the-art multi-core platforms.

Item Type: Conference Paper
Publisher: Association for Computing Machinery
Additional Information: Copyright of this article belongs to Association for Computing Machinery.
Keywords: Compilation; Compiler Optimization; Parallelism; Loop Transformations; Affine Scheduling
Department/Centre: Division of Electrical Sciences > Computer Science & Automation
Date Deposited: 19 Mar 2013 05:42
Last Modified: 19 Mar 2013 05:42
URI: http://eprints.iisc.ac.in/id/eprint/46031

Actions (login required)

View Item View Item