PENCIL: A Platform-Neutral Compute Intermediate Language for Accelerator Programming

Riyadh Baghdadi, Ulysse Beaugnon, Albert Cohen, Tobias Grosser, Michael Kruse, Chandan Reddy, Sven Verdoolaege, Adam Betts, Alastair F. Donaldson, Jeroen Ketema, Javed Absar, Svenvan V. Haastregt, A. Kravets, Anton Lokhmotov, Robert David, Elnar Hajiyev

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Programming accelerators such as GPUs withlow-level APIs and languages such as OpenCL and CUDAis difficult, error-prone, and not performance-portable. Au-tomatic parallelization and domain specific languages (DSLs)have been proposed to hide complexity and regain performanceportability. We present P ENCIL, a rigorously-defined subset ofGNU C99 - enriched with additional language constructs - that enables compilers to exploit parallelism and produce highlyoptimized code when targeting accelerators. P ENCIL aims toserve both as a portable implementation language for libraries, and as a target language for DSL compilers. We implemented a P ENCIL-to-OpenCL backend using astate-of-the-art polyhedral compiler. The polyhedral compiler, extended to handle data-dependent control flow and non-affinearray accesses, generates optimized OpenCL code. To demon-strate the potential and performance portability of P ENCILand the P ENCIL-to-OpenCL compiler, we consider a numberof image processing kernels, a set of benchmarks from theRodinia and SHOC suites, and DSL embedding scenarios forlinear algebra (BLAS) and signal processing radar applications(SpearDE), and present experimental results for four GPUplatforms: AMD Radeon HD 5670 and R9 285, NVIDIAGTX 470, and ARM Mali-T604.

Original languageEnglish (US)
Title of host publicationProceedings - 24th International Conference on Parallel Architecture and Compilation, PACT 2015
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages138-149
Number of pages12
ISBN (Electronic)9781467395243
DOIs
StatePublished - Mar 8 2016
Event24th International Conference on Parallel Architecture and Compilation, PACT 2015 - San Francisco, United States
Duration: Oct 18 2015Oct 21 2015

Publication series

NameParallel Architectures and Compilation Techniques - Conference Proceedings, PACT
ISSN (Print)1089-795X

Conference

Conference24th International Conference on Parallel Architecture and Compilation, PACT 2015
Country/TerritoryUnited States
CitySan Francisco
Period10/18/1510/21/15

Keywords

  • Automatic optimization
  • Domain specific languages
  • Intermediate language
  • OpenCL
  • Polyhedral model

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'PENCIL: A Platform-Neutral Compute Intermediate Language for Accelerator Programming'. Together they form a unique fingerprint.

Cite this