Imperial College London

ProfessorAlastairDonaldson

Faculty of EngineeringDepartment of Computing

Professor of Programming Languages
 
 
 
//

Contact

 

+44 (0)20 7594 8266alastair.donaldson Website

 
 
//

Location

 

422Huxley BuildingSouth Kensington Campus

//

Summary

 

Publications

Citation

BibTex format

@inproceedings{Riyadh:2015:10.1109/PACT.2015.17,
author = {Riyadh, Baghdadi R and Beaugnon, U and Cohen, A and Grosser, T and Kruse, M and Reddy, C and Verdoolaege, S and Betts, A and Donaldson, AF and Ketema, J and Absar, J and van, Haastregt S and Kravets, A and Lokhmotov, A and David, R and Hajiyev, E},
doi = {10.1109/PACT.2015.17},
pages = {138--149},
publisher = {IEEE},
title = {PENCIL: A Platform-Neutral Compute Intermediate Language for Accelerator Programming},
url = {http://dx.doi.org/10.1109/PACT.2015.17},
year = {2015}
}

RIS format (EndNote, RefMan)

TY  - CPAPER
AB - Programming accelerators such as GPUs withlow-level APIs and languages such as OpenCL and CUDAis difficult, error-prone, and not performance-portable. Automaticparallelization and domain specific languages (DSLs)have been proposed to hide complexity and regain performanceportability. We present PENCIL, a rigorously-defined subset ofGNU C99—enriched with additional language constructs—thatenables compilers to exploit parallelism and produce highlyoptimized code when targeting accelerators. PENCIL aims toserve both as a portable implementation language for libraries,and as a target language for DSL compilers.We implemented a PENCIL-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 demonstratethe potential and performance portability of PENCILand the PENCIL-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.
AU - Riyadh,Baghdadi R
AU - Beaugnon,U
AU - Cohen,A
AU - Grosser,T
AU - Kruse,M
AU - Reddy,C
AU - Verdoolaege,S
AU - Betts,A
AU - Donaldson,AF
AU - Ketema,J
AU - Absar,J
AU - van,Haastregt S
AU - Kravets,A
AU - Lokhmotov,A
AU - David,R
AU - Hajiyev,E
DO - 10.1109/PACT.2015.17
EP - 149
PB - IEEE
PY - 2015///
SP - 138
TI - PENCIL: A Platform-Neutral Compute Intermediate Language for Accelerator Programming
UR - http://dx.doi.org/10.1109/PACT.2015.17
UR - http://hdl.handle.net/10044/1/31792
ER -