SkelCL is a high level multi GPU skeleton library developed at the university of Münster, Germany.
This document describes SkelCL a multi-GPU skeleton library based on OpenCL. It is actively developed at the University of Münster, Germany, by Michel Steuwer and others. For comments or questions feel free to contact the author: firstname.lastname@example.org@m.euwer.nosp@m.@uni.nosp@email@example.com@m..de
Most of the functionality is explained in multiple peer-reviewed publications and in detail in a diploma thesis with the title: "Developing a Portable Multi-GPU Skeleton Library".
Two key abstractions are made in this library: algorithmic skeletons and a unified memory abstraction. This also reflects in the classes described here. The Skeleton class and subclasses describe calculations performed on a GPU. The Container classes, like Vector provides a unified memory management for CPU and GPU memory.
The following example shows a full functional SkelCL program. The dot product of two vectors is calculated. The Zip skeleton combines two vectors element-wise. The Reduce skeleton reduces all elements of a vector to a single value.