Affiliation:
1. University of Minnesota, Twin Cities
2. University of Minnesota, Twin Cities, Minneapolis, MN
Abstract
In the wake of the current trend of increasing the number of cores on a chip, compiler optimizations for improving the memory performance have assumed increased importance. Loop fusion is one such key optimization that can alleviate
memory
and
bandwidth wall
and thus improve parallel performance. However, we find that loop fusion in interesting memory-intensive applications is prevented by the existence of dependences between temporary variables that appear in different loop nests. Furthermore, known techniques of allowing useful transformations in the presence of temporary variables, such as privatization and expansion, prove insufficient in such cases.
In this work, we introduce
variable liberalization
, a technique that selectively removes dependences on temporary variables in different loop nests to achieve loop fusion while preserving the semantical correctness of the optimized program. This removal of extra-stringent dependences effectively amounts to variable expansion, thus achieving the benefit of an increased degree of freedom for program transformation but without an actual expansion. Hence, there is no corresponding increase in the memory footprint incurred. We implement
liberalization
in the Pluto polyhedral compiler and evaluate its performance on nine hot regions in five real applications. Results demonstrate parallel performance improvement of 1.92 × over the Intel compiler, averaged over the nine hot regions, and an overall improvement of as much as 2.17 × for an entire application, on an eight-core Intel Xeon processor.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Effective Loop Fusion in Polyhedral Compilation Using Fusion Conflict Graphs;ACM Transactions on Architecture and Code Optimization;2020-12-31
2. Polyhedral auto-transformation with no integer linear programming;ACM SIGPLAN Notices;2018-12-02
3. Polyhedral auto-transformation with no integer linear programming;Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation;2018-06-11
4. DeLICM: scalar dependence removal at zero memory cost;Proceedings of the 2018 International Symposium on Code Generation and Optimization;2018-02-24
5. DeLICM: scalar dependence removal at zero memory cost;Proceedings of the 2018 International Symposium on Code Generation and Optimization - CGO 2018;2018