Expressiveness and Data-Flow Compilation of OpenMP Streaming Programs - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2012

Expressiveness and Data-Flow Compilation of OpenMP Streaming Programs

Antoniu Pop
  • Fonction : Auteur
  • PersonId : 926642
Albert Cohen

Résumé

We present a data-flow extension of OpenMP to express highly dynamic control and data flow over nested, dependent tasks. The language supports dynamic creation, modular composition, variable and unbounded sets of producers/consumers, separate compilation, and first-class streams. These features, enabled by our original compilation flow, allow translating high-level parallel programming patterns, like dependences arising from StarSs' array regions, or universal low-level primitives like futures. In particular, these dynamic features can be embedded efficiently and naturally into an unmanaged imperative language, avoiding the complexity and overhead of a concurrent garbage collector. We demonstrate the performance advantages of a data-flow execution model compared to more restricted task and barrier models. We also demonstrate the efficiency of our compilation and runtime algorithms for the support of complex dependence patterns arising from StarSs benchmarks.
Ce papier présente une extension du langage OpenMP permettant d'exprimer le parallélisme sous forme de tâches dépendantes imbriquées avec flots de contrôle et de données dynamiques. Ce nouveau modèle de programmation permet la création dynamique de tâches, la composition et la compilation modulaires, ainsi que des ensembles variables, non bornés, de producteurs et consommateurs dans des flots de données, ou streams, de première classe. Nous présentons un nouvel algorithme de génération de code permettant de traduire des constructions de programmation parallèle de haut niveau, comme les dépendances issues des régions de tableaux du langage StarSs, ou des primitives universelles, de bas niveau, telles que les futures. Nous montrons que ces propriétés dynamiques peuvent être efficacement intégrées dans un langage impératif avec gestion explicite de la mémoire, évitant ainsi la complexité et le coût d'un ramasse-miettes concurrent.
Fichier principal
Vignette du fichier
RR-8001.pdf (953.03 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-00710409 , version 1 (20-06-2012)
hal-00710409 , version 2 (02-07-2012)

Identifiants

  • HAL Id : hal-00710409 , version 2

Citer

Antoniu Pop, Albert Cohen. Expressiveness and Data-Flow Compilation of OpenMP Streaming Programs. [Research Report] RR-8001, INRIA. 2012, pp.28. ⟨hal-00710409v2⟩
287 Consultations
206 Téléchargements

Partager

Gmail Facebook X LinkedIn More