OpenCL Frameworks and Tools for Heterogeneous Clusters
An OpenCL framework for heterogeneous clusters
A distributed and scalable OpenCL framework for heterogeneous clusters
An automatic CUDA-to-OpenCL, OpenCL-to-CUDA translator
SnuCL/SnuCL-D 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/SnuCL-D 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.
SnuCL-Tr is an automatic, practical, and bi-directional source-to-source translator between OpenCL and CUDA. The programmer who knows only CUDA can execute a CUDA program on an OpenCL framework easily, and vice versa.
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.