Affiliation:
1. École Normale Supérieure and INRIA
Abstract
To preserve the validity of loop nest transformations and parallelization, data dependences need to be analyzed. Memory dependences come in two varieties: true dependences or false dependences. While true dependences must be satisfied in order to preserve the correct order of computations, false dependences are induced by the reuse of a single memory location to store multiple values. False dependences reduce the degrees of freedom for loop transformations. In particular, loop tiling is severely limited in the presence of these dependences. While array expansion removes all false dependences, the overhead on memory and the detrimental impact on register-level reuse can be catastrophic.
We propose and evaluate a compilation technique to safely ignore a large number of false dependences in order to enable loop nest tiling in the polyhedral model. It is based on the precise characterization of interferences between live range intervals, and it does not incur any scalar or array expansion. Our algorithms have been implemented in the Pluto polyhedral compiler, and evaluated on the PolyBench suite.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Performance Embeddings: A Similarity-Based Transfer Tuning Approach to Performance Optimization;Proceedings of the 37th International Conference on Supercomputing;2023-06-21
2. A comprehensive framework for evaluating web services composition methods;International Journal of Web Information Systems;2019-07-29
3. Revisiting the Parallel Strategy for DOACROSS Loops;Journal of Computer Science and Technology;2019-03
4. Speeding up Iterative Polyhedral Schedule Optimization with Surrogate Performance Models;ACM Transactions on Architecture and Code Optimization;2019-01-08
5. DeLICM: scalar dependence removal at zero memory cost;Proceedings of the 2018 International Symposium on Code Generation and Optimization;2018-02-24