SkelCL – A Skeleton Library for Heterogeneous Systems
What is SkelCL?
SkelCL is a library providing high-level abstractions for alleviated programming of modern parallel heterogeneous systems.
Programming modern heterogeneous systems comprising of multi-core CPUs, GPUs, etc. is complex and error-prone. Existing programming approaches, like CUDA or OpenCL, are intrinsically low-level. Handling of multiple compute devices is complicated and requires manually data movement between them.
The SkelCL library is built on top of the OpenCL standard and offers pre-implemented recurring computation and communication patterns (called skeletons) which greatly simplify programming for modern heterogeneous systems.
The library also provides an abstract vector data type and a high-level data (re)distribution mechanism to shield the programmer from the low-level data transfers between the system's main memory and multiple compute devices.
SkelCL is a research project currently developed at the research group parallel and distributed systems at University of Münster which is located in Germany.
More detailed information about SkelCL can be found under http://skelcl.uni-muenster.de.