Introducing 'Bones': a parallelizing source-to-source compiler based on algorithmic skeletons
Proceedings of the 5th Annual Workshop on General Purpose Processing with Graphics Processing Units
Algorithmic skeletons for multi-core, multi-GPU systems and clusters
International Journal of High Performance Computing and Networking
Using the SkelCL library for high-level GPU programming of 2d applications
Euro-Par'12 Proceedings of the 18th international conference on Parallel processing workshops
Skeletal based programming for dynamic programming on MultiGPU systems
The Journal of Supercomputing
Algorithmic skeleton framework for the orchestration of GPU computations
Euro-Par'13 Proceedings of the 19th international conference on Parallel Processing
Exploiting heterogeneous parallelism with the Heterogeneous Programming Library
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
While CUDA and OpenCL made general-purpose programming for Graphics Processing Units (GPU) popular, using these programming approaches remains complex and error-prone because they lack high-level abstractions. The especially challenging systems with multiple GPU are not addressed at all by these low-level programming models. We propose SkelCL -- a library providing so-called algorithmic skeletons that capture recurring patterns of parallel computation and communication, together with an abstract vector data type and constructs for specifying data distribution. We demonstrate that SkelCL greatly simplifies programming GPU systems. We report the competitive performance results of SkelCL using both a simple Mandelbrot set computation and an industrial-strength medical imaging application. Because the library is implemented using OpenCL, it is portable across GPU hardware of different vendors.