Automatic Skeleton-Based Compilation through Integration with an Algorithm Classification
Eindhoven University of Technology, The Netherlands
Advanced Parallel Processing Technology (APPT), 2013
@article{nugteren2013automatic,
title={Automatic Skeleton-Based Compilation through Integration with an Algorithm Classification},
author={Nugteren, Cedric and Custers, Pieter and Corporaal, Henk},
journal={APPT’13: Advanced Parallel Processing Technology},
year={2013}
}
This paper presents a technique to fully automatically generate efficient and readable code for parallel processors. We base our approach on skeleton-based compilation and "algorithmic species", an algorithm classification of program code. We use a tool to automatically annotate C code with species information where possible. The annotated program code is subsequently fed into the skeleton-based source-to-source compiler "Bones", which generates OpenMP, OpenCL or CUDA code and optimises host-accelerator transfers. This results in a unique approach, integrating a skeleton-based compiler for the first time into an automated flow. We demonstrate the benefits of our approach on the PolyBench suite by showing average speed-ups of 1.4x and 1.6x for GPU code compared to PPCG and Par4All, two state-of-the-art compilers.
August 7, 2013 by hgpu