A general compilation algorithm to parallelize and optimize counted loops with dynamic data-dependent bounds - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Communication Dans Un Congrès Année : 2017

A general compilation algorithm to parallelize and optimize counted loops with dynamic data-dependent bounds

Jie Zhao
  • Fonction : Auteur
  • PersonId : 1024648
Albert Cohen

Résumé

We study the parallelizing compilation and loop nest optimization of an important class of programs where counted loops have a dynamically computed, data-dependent upper bound. Such loops are amenable to a wider set of transformations than general while loops with inductively defined termination conditions: for example, the substitution of closed forms for induction variables remains applicable, removing the data dependences induced by termination conditions. We propose an automatic compilation approach to parallelize and optimize dynamic counted loops. Our approach relies on affine relations only, as implemented in state-of-the-art polyhedral libraries. Revisiting a state-of- the-art framework to parallelize arbitrary while loops, we introduce additional control dependences on data-dependent predicates. Our method goes beyond the state of the art in fully automating the process, specializing the code generation algorithm to the case of dynamic counted loops and avoiding the introduction of spurious loop-carried dependences. We conduct experiments on representative irregular computations, from computer vision and finite element methods to sparse matrix linear algebra. We validate that the method is applicable to general affine transformations for locality optimization, vectorization and parallelization.
Fichier principal
Vignette du fichier
impact-17-a-general-compilation-algorithm-to-parallelize-and-optimize-counted-loops-with-dynamic-data-dependences.pdf (374.17 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01657608 , version 1 (07-12-2017)

Identifiants

  • HAL Id : hal-01657608 , version 1

Citer

Jie Zhao, Albert Cohen. A general compilation algorithm to parallelize and optimize counted loops with dynamic data-dependent bounds. IMPACT 2017 - 7th International Workshop on Polyhedral Compilation Techniques, Jan 2017, Stockholm, Sweden. pp.1-10. ⟨hal-01657608⟩
220 Consultations
96 Téléchargements

Partager

Gmail Facebook X LinkedIn More