SnuCL Suite

OpenCL Frameworks and Tools for Heterogeneous Clusters


An OpenCL framework for heterogeneous clusters

Learn & Download


A distributed and scalable OpenCL framework for heterogeneous clusters

Coming soon


An automatic CUDA-to-OpenCL, OpenCL-to-CUDA translator

Learn & Download

Extending OpenCL
to Clusters

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.

Integrating OpenCL
Vendor Platforms

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.

Bridging OpenCL
and CUDA

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.

Multicore CPUs as a
Compute Device

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.