7173

Introducing ‘Bones’: A Parallelizing Source-to-Source Compiler Based on Algorithmic Skeletons

Cedric Nugteren, Henk Corporaal
Eindhoven University of Technology, The Netherlands
GPGPU-5: Fifth Workshop on General Purpose Processing on Graphics Processing Units at ASPLOS’12, 2012

@article{nugteren2012introducing,

   title={Introducing ‘Bones’: A Parallelizing Source-to-Source Compiler Based on Algorithmic Skeletons},

   author={Nugteren, Cedric and Corporaal, Henk},

   year={2012}

}

Download Download (PDF)   View View   Source Source   

1684

views

Recent advances in multi-core and many-core processors requires programmers to exploit an increasing amount of parallelism from their applications. Data parallel languages such as CUDA and OpenCL make it possible to take advantage of such processors, but still require a large amount of effort from programmers. A number of parallelizing source-to-source compilers have recently been developed to ease programming of multi-core and many-core processors. This work presents and evaluates a number of such tools, focused in particular on C-toCUDA transformations targeting GPUs. We compare these tools both qualitatively and quantitatively to each other and identify their strengths and weaknesses. In this paper, we address the weaknesses by presenting a new classification of algorithms. This classification is used in a new source-to-source compiler, which is based on the algorithmic skeletons technique. The compiler generates target code based on skeletons of parallel structures, which can be seen as parameterisable library implementations for a set of algorithm classes. We furthermore demonstrate that the presented compiler requires little modifications to the original sequential source code, generates readable code for further fine-tuning, and delivers superior performance compared to other tools for a set of 8 image processing kernels.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: