Acharya, Aravind and Bondhugula, Uday and Cohen, Albert (2018) Polyhedral Auto-transformation with No Integer Linear Programming. In: ACM SIGPLAN NOTICES, 53 (4). pp. 529-542.
PDF
Acm_Sig_Not_53-4_529_2018.pdf - Published Version Restricted to Registered users only Download (391kB) | Request a copy |
Abstract
State-of-the-art algorithms used in automatic polyhedral transformation for parallelization and locality optimization typically rely on Integer Linear Programming (ILP). This poses a scalability issue when scaling to tens or hundreds of statements, and may be disconcerting in production compiler settings. In this work, we consider relaxing integrality in the ILP formulation of the Pluto algorithm, a popular algorithm used to find good affine transformations. We show that the rational solutions obtained from the relaxed LP formulation can easily be scaled to valid integral ones to obtain desired solutions, although with some caveats. We first present formal results connecting the solution of the relaxed LP to the original Pluto ILP. We then show that there are difficulties in realizing the above theoretical results in practice, and propose an alternate approach to overcome those while still leveraging linear programming. Our new approach obtains dramatic compile-time speedups for a range of large benchmarks. While achieving these compile-time improvements, we show that the performance of the transformed code is not sacrificed. Our approach to automatic transformation provides a mean compilation time improvement of 5.6x over state-of-the-art on relevant challenging benchmarks from the NAS PB, SPEC CPU 2006, and PolyBench suites. We also came across situations where prior frameworks failed to find a transformation in a reasonable amount of time, while our new approach did so instantaneously.
Item Type: | Journal Article |
---|---|
Publication: | ACM SIGPLAN NOTICES |
Publisher: | ASSOC COMPUTING MACHINERY |
Additional Information: | 39th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Philadelphia, PA, JUN 18-22, 2018 |
Keywords: | Polyhedral transformation;Pluto algorithm |
Department/Centre: | Division of Electrical Sciences > Computer Science & Automation |
Date Deposited: | 04 Jan 2019 16:47 |
Last Modified: | 25 Aug 2022 11:25 |
URI: | https://eprints.iisc.ac.in/id/eprint/61407 |
Actions (login required)
View Item |