DeLICM: Scalar Dependence Removal at Zero Memory Cost - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2018

DeLICM: Scalar Dependence Removal at Zero Memory Cost

Résumé

Increasing data movement costs motivate the integration of polyhedral loop optimizers in the standard flow (-O3) of production compilers. While polyhedral optimizers have been shown to be effective when applied as source-to-source transformation, the single static assignment form used in modern compiler mid-ends makes such optimizers less effective. Scalar dependencies (dependencies carried over a single memory location) are the main obstacle preventing effective optimization. We present DeLICM, a set of transformations which, backed by a polyhedral value analysis, eliminate problematic scalar dependences by 1) relocating scalar memory references to unused array locations and by 2) forwarding computations that otherwise cause scalar dependences. Our experiments show that DeLICM effectively eliminates dependencies introduced by compiler-internal canonicalization passes, human programmers, optimizing code generators, or inlining – without the need for any additional memory allocation. As a result, polyhedral loop optimizations can be better integrated into compiler pass pipelines which is essential for metaprogramming optimization.
Fichier principal
Vignette du fichier
delicm-sigplan.pdf (898.3 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01814183 , version 1 (07-02-2019)

Identifiants

Citer

Michael Kruse, Tobias Grosser. DeLICM: Scalar Dependence Removal at Zero Memory Cost. CGO'18 - International Symposium on Code Generation and Optimization, Feb 2018, Vienna, Austria. pp.241-253, ⟨10.1145/3168815⟩. ⟨hal-01814183⟩
48 Consultations
216 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More