Pencil A Platform-Neutral Compute Intermediate Language for DSL Compilers - Archive ouverte HAL
Communication Dans Un Congrès Année : 2015

Pencil A Platform-Neutral Compute Intermediate Language for DSL Compilers

Résumé

Programming accelerators such as GPUs with low-level APIs and languages like OpenCL and CUDA is difficult, error prone, and not performance-portable. Automatic parallelization and domain specific languages (DSLs) have been proposed to hide this complexity and to regain some performance portability. In this presentation, I will present PENCIL (Platform-Neutral Compute Intermediate Language) and present some details about how it is compiled. PENCIL is a rigorously defined subset of GNU C99 with specific programming rules and few extensions. Adherence to this subset and the use of these extensions enable compilers to exploit parallelism and to better optimize code when targeting accelerators. We intend PENCIL both as a portable language to facilitate accelerator programming, and as an intermediate language for DSL compilers. We validate the potential of PENCIL on a state-of-the-art polyhedral compiler, extending the applicability of the compiler to dynamic, data-dependent control flow and non-affine array accesses.

Mots clés

06-Mickeal Kruse _HipEAC 2015.pdf (1.31 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-01165017 , version 1 (18-06-2015)

Identifiants

  • HAL Id : hal-01165017 , version 1

Citer

Mohamed Riyadh Baghdadi, Javed Absar, Ulysse Beaugnon, Adam Betts, Albert Cohen, et al.. Pencil A Platform-Neutral Compute Intermediate Language for DSL Compilers. 10th International Conference on High Performance and Embedded Architectures and Compilers - HIPEAC 2015, Jan 2015, Amsterdam, Netherlands. ⟨hal-01165017⟩
340 Consultations
103 Téléchargements

Partager

More