PIPS Is not (just) Polyhedral Software Adding GPU Code Generation in PIPS - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année :

PIPS Is not (just) Polyhedral Software Adding GPU Code Generation in PIPS

(1) , (1) , (1) , (2, 3) , (4) , (1) , (1) , (2, 5) , (2)
1
2
3
4
5
Mehdi Amini
  • Fonction : Auteur
  • PersonId : 927334
Corinne Ancourt
Fabien Coelho
Béatrice Creusillet
  • Fonction : Auteur
  • PersonId : 931481
Serge Guelton
  • Fonction : Auteur
  • PersonId : 846275
François Irigoin
Pierre Jouvelot
Pierre Villalon
  • Fonction : Auteur
  • PersonId : 931752

Résumé

Parallel and heterogeneous computing are growing in audience thanks to the increased performance brought by ubiquitous manycores and GPUs. However, available programming models, like OPENCL or CUDA, are far from being straightforward to use. As a consequence, several automated or semi-automated approaches have been proposed to automatically generate hardware-level codes from high-level sequential sources. Polyhedral models are becoming more popular because of their combination of expressiveness, compactness, and accurate abstraction of the data-parallel behaviour of programs. These models provide automatic or semi-automatic parallelization and code transformation capabilities that target such modern parallel architectures. PIPS is a quarter-century old source-to-source transformation framework that initially targeted parallel machines but then evolved to include other targets. PIPS uses abstract interpretation on an integer polyhedral lattice to represent program code, allowing linear relation analysis on integer variables in an interprocedural way. The same representation is used for the dependence test and the convex array region analysis. The polyhedral model is also more classically used to schedule code from linear constraints. In this paper, we illustrate the features of this compiler infrastructure on an hypothetical input code, demonstrating the combination of polyhedral and non polyhedral transformations. PIPS interprocedural polyhedral analyses are used to generate data transfers and are combined with non-polyhedral transformations to achieve efficient CUDA code generation.
Fichier principal
Vignette du fichier
A-453.pdf (98.77 Ko) Télécharger le fichier
Vignette du fichier
A-453-slides.pdf (622.25 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Format : Autre
Loading...

Dates et versions

hal-00744312 , version 1 (22-10-2012)

Identifiants

  • HAL Id : hal-00744312 , version 1

Citer

Mehdi Amini, Corinne Ancourt, Fabien Coelho, Béatrice Creusillet, Serge Guelton, et al.. PIPS Is not (just) Polyhedral Software Adding GPU Code Generation in PIPS. First International Workshop on Polyhedral Compilation Techniques (IMPACT 2011) in conjonction with CGO 2011, Apr 2011, Chamonix, France. ⟨hal-00744312⟩
354 Consultations
280 Téléchargements

Partager

Gmail Facebook Twitter LinkedIn More