Acharya, A and Bondhugula, U and Cohen, A (2020) Effective Loop Fusion in Polyhedral Compilation Using Fusion Conflict Graphs. In: ACM Transactions on Architecture and Code Optimization, 17 (4).
|
PDF
ACM_tra_arc_17-14_2020.pdf - Published Version Download (1MB) | Preview |
Abstract
Polyhedral auto-transformation frameworks are known to find efficient loop transformations that maximize locality and parallelism and minimize synchronization. While complex loop transformations are routinely modeled in these frameworks, they tend to rely on ad hoc heuristics for loop fusion. Although there exist multiple loop fusion models with cost functions to maximize locality and parallelism, these models involve separate optimization steps rather than seamlessly integrating with other loop transformations like loop permutation, scaling, and shifting. Incorporating parallelism-preserving loop fusion heuristics into existing affine transformation frameworks like Pluto, LLVM-Polly, PPCG, and PoCC requires solving a large number of Integer Linear Programming formulations, which increase auto-transformation times significantly. In this work, we incorporate polynomial time loop fusion heuristics into the Pluto-lp-dfp framework. We present a data structure called the fusion conflict graph (FCG), which enables us to efficiently model loop fusion in the presence of other affine loop transformations. We propose a clustering heuristic to group the vertices of the FCG, which further enables us to provide three different polynomial time greedy fusion heuristics, namely, maximal fusion, typed fusion, and hybrid fusion, while maintaining the compile time improvements of Pluto-lp-dfp over Pluto. Our experiments reveal that the hybrid fusion model, in conjunction with Pluto's cost function, finds efficient transformations that outperform PoCC and Pluto by mean factors of 1.8× and 1.07×, respectively, with a maximum performance improvement of 14× over PoCC and 2.6× over Pluto. © 2020 ACM.
Item Type: | Journal Article |
---|---|
Publication: | ACM Transactions on Architecture and Code Optimization |
Publisher: | Association for Computing Machinery |
Additional Information: | The copyright for this article belongs to the Authors. |
Keywords: | Cost functions; Integer programming; Mathematical transformations; Polynomial approximation, Ad-hoc heuristics; Affine transformations; Conflict graph; Hybrid fusions; Integer linear programming formulation; Loop transformation; Multiple loops; Polynomial-time, Linear transformations |
Department/Centre: | Division of Electrical Sciences > Computer Science & Automation |
Date Deposited: | 10 Jan 2023 11:48 |
Last Modified: | 10 Jan 2023 11:48 |
URI: | https://eprints.iisc.ac.in/id/eprint/79025 |
Actions (login required)
View Item |