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

Effective Loop Fusion in Polyhedral Compilation Using Fusion Conflict Graphs

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).

[img]
Preview
PDF
ACM_tra_arc_17-14_2020.pdf - Published Version

Download (1MB) | Preview
Official URL: https://doi.org/10.1145/3416510

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 View Item