An OpenCL Framework for Heterogeneous Clusters
SnuCL naturally extends the original OpenCL semantics to the heterogeneous cluster environment. OpenCL applications written for a single heterogeneous system with multiple OpenCL compute devices can run on the cluster without any modifications.
SnuCL integrates multiple OpenCL platforms from different vendor implementations into a single platform. It enables OpenCL applications to share objects (buffers, events, etc.) between different compute devices such as AMD GPUs, NVIDIA GPUs, and Intel Xeon Phi coprocessors.
A set of CPU cores becomes a powerful OpenCL compute device. SnuCL distributes kernel work-groups to the CPU cores and executes them in parallel. It adopts the work-item coalescing technique to execute multiple kernel instances efficiently.
Try SnuCL now!