Improved Loop Tiling based on the Removal of Spurious False Dependences - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Article Dans Une Revue ACM Transactions on Architecture and Code Optimization Année : 2013

Improved Loop Tiling based on the Removal of Spurious False Dependences

Résumé

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.

Dates et versions

hal-00786674 , version 1 (10-02-2013)

Identifiants

Citer

Riyadh Baghdadi, Albert Cohen, Sven Verdoolaege, Konrad Trifunović. Improved Loop Tiling based on the Removal of Spurious False Dependences. ACM Transactions on Architecture and Code Optimization, 2013, 9 (4), ⟨10.1145/2400682.2400711⟩. ⟨hal-00786674⟩
215 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More