DeLICM: Scalar Dependence Removal at Zero Memory Cost - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2018

DeLICM: Scalar Dependence Removal at Zero Memory Cost

Abstract

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
Origin : Files produced by the author(s)
Loading...

Dates and versions

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

Identifiers

Cite

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⟩
47 View
214 Download

Altmetric

Share

Gmail Facebook X LinkedIn More