2015 International Conference on Parallel Architecture and Compilation (PACT) 2015
DOI: 10.1109/pact.2015.17
|View full text |Cite
|
Sign up to set email alerts
|

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

Abstract: 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 complexity and regain performance portability. We present PENCIL, a rigorously-defined subset of GNU C99-enriched with additional language constructs-that enables compilers to exploit parallelism and produce highly optimized code when targeting accelerators. PENC… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
85
0
1

Year Published

2016
2016
2021
2021

Publication Types

Select...
4
4
1

Relationship

0
9

Authors

Journals

citations
Cited by 81 publications
(86 citation statements)
references
References 16 publications
0
85
0
1
Order By: Relevance
“…Figure 1 gives an overview of the different approaches related to this paper. Loop-based autoparallelization techniques have been extensively studied for languages like C. Recent work on polyhedral compilation [1] for instance has pushed the boundaries of such techniques for GPU code generation. However, these techniques only operate on loops and requires certain property such as affine indices to work effectively.…”
Section: Related Work and Motivationmentioning
confidence: 99%
See 1 more Smart Citation
“…Figure 1 gives an overview of the different approaches related to this paper. Loop-based autoparallelization techniques have been extensively studied for languages like C. Recent work on polyhedral compilation [1] for instance has pushed the boundaries of such techniques for GPU code generation. However, these techniques only operate on loops and requires certain property such as affine indices to work effectively.…”
Section: Related Work and Motivationmentioning
confidence: 99%
“…map parallelism + optimization [19] auto parallelization [1] C Code for loops GPU code GPU code GPU code Figure 1. GPU code generation landscape.…”
Section: Gpu Codementioning
confidence: 99%
“…An annotation approach is described in [6], based on the Platform-Neutral Compute Intermediate Language [4]. This used the code generator in [35] to generate CUDA and OpenCL code for multiple compute platforms.…”
Section: Related Workmentioning
confidence: 99%
“…Pencil [3] is an intermediate language defined as a restricted subset of C99. It is intended as an implementation language for libraries and a compilation target by DSLs.…”
Section: Polyhedral Gpu Compilationmentioning
confidence: 99%