PENCIL Language Specification: PENCIL (Platform-Neutral Compute Intermediate Language) Language Specification

Riyadh Baghdadi 1 Albert Cohen 1 Tobias Grosser 1 Sven Verdoolaege 1 Anton Lokhmotov 2 Javed Absar 3 Sven van Haastregt 3 Alexey Kravets 3 Alastair Donaldson 4
1 Parkas - Parallélisme de Kahn Synchrone
DI-ENS - Département d'informatique de l'École normale supérieure, Inria Paris-Rocquencourt, CNRS - Centre National de la Recherche Scientifique : UMR 8548
Abstract : Programming accelerators such as GPUs with low-level APIs and languages such as 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. We present PENCIL, 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 implementation language to facilitate the acceleration of applications, and as a tractable target language for DSL compilers.
Complete list of metadatas

Cited literature [10 references]  Display  Hide  Download

https://hal.inria.fr/hal-01154812
Contributor : Riyadh Baghdadi <>
Submitted on : Monday, June 1, 2015 - 9:46:22 AM
Last modification on : Friday, June 14, 2019 - 3:44:01 PM
Long-term archiving on : Monday, April 24, 2017 - 7:36:16 PM

File

RR-8706.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01154812, version 3

Collections

Citation

Riyadh Baghdadi, Albert Cohen, Tobias Grosser, Sven Verdoolaege, Anton Lokhmotov, et al.. PENCIL Language Specification: PENCIL (Platform-Neutral Compute Intermediate Language) Language Specification. [Research Report] RR-8706, INRIA. 2015, pp.37. ⟨hal-01154812v3⟩

Share

Metrics

Record views

1261

Files downloads

970